From 2f195f611cf56e83ba666d1ca386910c2fed8505 Mon Sep 17 00:00:00 2001 From: Sergio <77530549+sergi0g@users.noreply.github.com> Date: Sun, 1 Sep 2024 19:52:20 +0300 Subject: [PATCH] Changed frontend from Liquid to React, fixed bug where server would check for updates twice --- .gitignore | 1 + Cargo.lock | 152 --------------- Cargo.toml | 3 +- build.sh | 7 + src/server.rs | 72 +++---- src/static/index.css | 1 - src/static/template.liquid | 294 ----------------------------- tailwind.config.js | 17 -- web/.gitignore | 24 +++ web/.tool-versions | 1 + web/README.md | 9 + web/bun.lockb | Bin 0 -> 104922 bytes web/eslint.config.js | 36 ++++ web/index.html | 16 ++ web/package.json | 37 ++++ web/postcss.config.js | 6 + web/public/apple-touch-icon.png | Bin 0 -> 5872 bytes web/public/favicon.ico | Bin 0 -> 1029 bytes web/public/favicon.svg | 29 +++ web/src/App.tsx | 78 ++++++++ web/src/components/Image.tsx | 30 +++ web/src/components/LastChecked.tsx | 6 + web/src/components/Loading.tsx | 34 ++++ web/src/components/Logo.tsx | 54 ++++++ web/src/components/Statistic.tsx | 48 +++++ web/src/index.css | 54 ++++++ web/src/main.tsx | 10 + web/src/types.ts | 12 ++ web/src/vite-env.d.ts | 1 + web/tailwind.config.js | 37 ++++ web/tsconfig.app.json | 24 +++ web/tsconfig.json | 7 + web/tsconfig.node.json | 22 +++ web/vite.config.ts | 16 ++ 34 files changed, 623 insertions(+), 515 deletions(-) create mode 100755 build.sh delete mode 100644 src/static/index.css delete mode 100644 src/static/template.liquid delete mode 100644 tailwind.config.js create mode 100644 web/.gitignore create mode 100644 web/.tool-versions create mode 100644 web/README.md create mode 100755 web/bun.lockb create mode 100644 web/eslint.config.js create mode 100644 web/index.html create mode 100644 web/package.json create mode 100644 web/postcss.config.js create mode 100644 web/public/apple-touch-icon.png create mode 100644 web/public/favicon.ico create mode 100644 web/public/favicon.svg create mode 100644 web/src/App.tsx create mode 100644 web/src/components/Image.tsx create mode 100644 web/src/components/LastChecked.tsx create mode 100644 web/src/components/Loading.tsx create mode 100644 web/src/components/Logo.tsx create mode 100644 web/src/components/Statistic.tsx create mode 100644 web/src/index.css create mode 100644 web/src/main.tsx create mode 100644 web/src/types.ts create mode 100644 web/src/vite-env.d.ts create mode 100644 web/tailwind.config.js create mode 100644 web/tsconfig.app.json create mode 100644 web/tsconfig.json create mode 100644 web/tsconfig.node.json create mode 100644 web/vite.config.ts diff --git a/.gitignore b/.gitignore index 6536618..f5516d1 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ /docs/.next /docs/node_modules /docs/out +/src/static # In case I accidentally commit mine... cup.json \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index bd2af3d..a4b42fb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -90,12 +90,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "anymap2" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d301b3b94cb4b2f23d7917810addbbaff90738e0ca2be692bd027e70d7e0330c" - [[package]] name = "atty" version = "0.2.14" @@ -358,7 +352,6 @@ dependencies = [ "http-auth", "indicatif", "json", - "liquid", "once_cell", "rayon", "regex", @@ -388,12 +381,6 @@ dependencies = [ "crypto-common", ] -[[package]] -name = "doc-comment" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" - [[package]] name = "either" version = "1.13.0" @@ -768,15 +755,6 @@ version = "1.70.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" -[[package]] -name = "itertools" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -dependencies = [ - "either", -] - [[package]] name = "itoa" version = "1.0.11" @@ -798,16 +776,6 @@ version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "078e285eafdfb6c4b434e0d31e8cfcb5115b651496faca5749b88fafd4f23bfd" -[[package]] -name = "kstring" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3066350882a1cd6d950d055997f379ac37fd39f81cd4d8ed186032eb3c5747" -dependencies = [ - "serde", - "static_assertions", -] - [[package]] name = "lazy_static" version = "1.5.0" @@ -820,63 +788,6 @@ version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" -[[package]] -name = "liquid" -version = "0.26.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10929f201279ba14da3297b957dcda1e0bf7a6f3bb5115688be684aa8864e9cc" -dependencies = [ - "doc-comment", - "liquid-core", - "liquid-derive", - "liquid-lib", - "serde", -] - -[[package]] -name = "liquid-core" -version = "0.26.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3aef4b2160791f456eb880c990a97746f693746f92302ef5f1d06111cf14b768" -dependencies = [ - "anymap2", - "itertools", - "kstring", - "liquid-derive", - "num-traits", - "pest", - "pest_derive", - "regex", - "serde", - "time", -] - -[[package]] -name = "liquid-derive" -version = "0.26.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "915f6d0a2963a27cd5205c1902f32ddfe3bc035816afd268cf88c0fc0f8d287e" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "liquid-lib" -version = "0.26.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73f48fc446873f74d869582f5c4b8cbf3248c93395e410a67af5809b3731e44a" -dependencies = [ - "itertools", - "liquid-core", - "once_cell", - "percent-encoding", - "regex", - "time", - "unicode-segmentation", -] - [[package]] name = "log" version = "0.4.22" @@ -987,51 +898,6 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" -[[package]] -name = "pest" -version = "2.7.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" -dependencies = [ - "memchr", - "thiserror", - "ucd-trie", -] - -[[package]] -name = "pest_derive" -version = "2.7.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a548d2beca6773b1c244554d36fcf8548a8a58e74156968211567250e48e49a" -dependencies = [ - "pest", - "pest_generator", -] - -[[package]] -name = "pest_generator" -version = "2.7.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c93a82e8d145725dcbaf44e5ea887c8a869efdcc28706df2d08c69e17077183" -dependencies = [ - "pest", - "pest_meta", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "pest_meta" -version = "2.7.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a941429fea7e08bedec25e4f6785b6ffaacc6b755da98df5ef3e7dcf4a124c4f" -dependencies = [ - "once_cell", - "pest", - "sha2", -] - [[package]] name = "pin-project" version = "1.1.5" @@ -1369,12 +1235,6 @@ version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - [[package]] name = "strsim" version = "0.11.1" @@ -1623,12 +1483,6 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" -[[package]] -name = "ucd-trie" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" - [[package]] name = "unicode-bidi" version = "0.3.15" @@ -1650,12 +1504,6 @@ dependencies = [ "tinyvec", ] -[[package]] -name = "unicode-segmentation" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" - [[package]] name = "unicode-width" version = "0.1.13" diff --git a/Cargo.toml b/Cargo.toml index 93d923a..bff33c2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,7 +10,6 @@ tokio = {version = "1.38.0", features = ["rt", "rt-multi-thread", "macros"]} ureq = { version = "2.9.7", features = ["tls"] } rayon = "1.10.0" xitca-web = { version = "0.5.0", optional = true, features = ["logger"] } -liquid = { version = "0.26.6", optional = true } bollard = "0.16.1" once_cell = "1.19.0" http-auth = { version = "0.1.9", features = [] } @@ -21,7 +20,7 @@ json = "0.12.4" [features] default = ["server", "cli"] -server = ["dep:xitca-web", "dep:liquid", "dep:chrono"] +server = ["dep:xitca-web", "dep:chrono"] cli = ["dep:indicatif", "dep:termsize"] [profile.release] diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..f4688a3 --- /dev/null +++ b/build.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +rm -rf src/static +cd web/ +bun run build +cp -r dist/ ../src/static +cargo build $@ \ No newline at end of file diff --git a/src/server.rs b/src/server.rs index 30753e1..bcfc77e 100644 --- a/src/server.rs +++ b/src/server.rs @@ -2,11 +2,10 @@ use std::sync::Arc; use chrono::Local; use json::JsonValue; -use liquid::{object, Object}; use tokio::sync::Mutex; use xitca_web::{ body::ResponseBody, - handler::{handler_service, state::StateRef}, + handler::{handler_service, path::PathRef, state::StateRef}, http::WebResponse, middleware::Logger, route::get, @@ -19,23 +18,22 @@ use crate::{ utils::{sort_update_vec, to_json}, }; -const RAW_TEMPLATE: &str = include_str!("static/template.liquid"); -const STYLE: &str = include_str!("static/index.css"); +const HTML: &str = include_str!("static/index.html"); +const JS: &str = include_str!("static/assets/index.js"); +const CSS: &str = include_str!("static/assets/index.css"); const FAVICON_ICO: &[u8] = include_bytes!("static/favicon.ico"); const FAVICON_SVG: &[u8] = include_bytes!("static/favicon.svg"); const APPLE_TOUCH_ICON: &[u8] = include_bytes!("static/apple-touch-icon.png"); pub async fn serve(port: &u16, socket: Option, config: JsonValue) -> std::io::Result<()> { - let mut data = ServerData::new(socket, config).await; - data.refresh().await; + println!("Starting server, please wait..."); + let data = ServerData::new(socket, config).await; App::new() .with_state(Arc::new(Mutex::new(data))) - .at("/", get(handler_service(home))) + .at("/", get(handler_service(_static))) .at("/json", get(handler_service(json))) .at("/refresh", get(handler_service(refresh))) - .at("/favicon.ico", handler_service(favicon_ico)) // These aren't pretty but this is xitca-web... - .at("/favicon.svg", handler_service(favicon_svg)) - .at("/apple-touch-icon.png", handler_service(apple_touch_icon)) + .at("/*", get(handler_service(_static))) .enclosed(Logger::new()) .serve() .bind(format!("0.0.0.0:{}", port))? @@ -43,8 +41,16 @@ pub async fn serve(port: &u16, socket: Option, config: JsonValue) -> std .wait() } -async fn home(data: StateRef<'_, Arc>>) -> WebResponse { - WebResponse::new(ResponseBody::from(data.lock().await.template.clone())) +async fn _static(data: StateRef<'_, Arc>>, path: PathRef<'_>) -> WebResponse { + match path.0 { + "/" => WebResponse::builder().header("Content-Type", "text/html").body(ResponseBody::from(HTML)).unwrap(), + "/assets/index.js" => WebResponse::builder().header("Content-Type", "text/javascript").body(ResponseBody::from(JS.replace("=\"neutral\"", &format!("=\"{}\"", data.lock().await.theme)))).unwrap(), + "/assets/index.css" => WebResponse::builder().header("Content-Type", "text/css").body(ResponseBody::from(CSS)).unwrap(), + "/favicon.ico" => WebResponse::builder().header("Content-Type", "image/vnd.microsoft.icon").body(ResponseBody::from(FAVICON_ICO)).unwrap(), + "/favicon.svg" => WebResponse::builder().header("Content-Type", "image/svg+xml").body(ResponseBody::from(FAVICON_SVG)).unwrap(), + "/apple-touch-icon.png" => WebResponse::builder().header("Content-Type", "image/png").body(ResponseBody::from(APPLE_TOUCH_ICON)).unwrap(), + _ => WebResponse::builder().status(404).body(ResponseBody::from("Not found")).unwrap() + } } async fn json(data: StateRef<'_, Arc>>) -> WebResponse { @@ -58,37 +64,25 @@ async fn refresh(data: StateRef<'_, Arc>>) -> WebResponse { WebResponse::new(ResponseBody::from("OK")) } -async fn favicon_ico() -> WebResponse { - WebResponse::new(ResponseBody::from(FAVICON_ICO)) -} - -async fn favicon_svg() -> WebResponse { - WebResponse::new(ResponseBody::from(FAVICON_SVG)) -} - -async fn apple_touch_icon() -> WebResponse { - WebResponse::new(ResponseBody::from(APPLE_TOUCH_ICON)) -} - struct ServerData { - template: String, raw_updates: Vec<(String, Option)>, json: JsonValue, socket: Option, config: JsonValue, + theme: &'static str } impl ServerData { async fn new(socket: Option, config: JsonValue) -> Self { let mut s = Self { socket, - template: String::new(), json: json::object! { metrics: json::object! {}, images: json::object! {}, }, raw_updates: Vec::new(), config, + theme: "neutral" }; s.refresh().await; s @@ -96,22 +90,10 @@ impl ServerData { async fn refresh(&mut self) { let updates = sort_update_vec(&get_all_updates(self.socket.clone(), &self.config["authentication"]).await); self.raw_updates = updates; - let template = liquid::ParserBuilder::with_stdlib() - .build() - .unwrap() - .parse(RAW_TEMPLATE) - .unwrap(); - let images = self - .raw_updates - .iter() - .map(|(name, has_update)| match has_update { - Some(v) => object!({"name": name, "has_update": v.to_string()}), // Liquid kinda thinks false == nil, so we'll be comparing strings from now on - None => object!({"name": name, "has_update": "null"}), - }) - .collect::>(); self.json = to_json(&self.raw_updates); - let last_updated = Local::now().format("%Y-%m-%d %H:%M:%S"); - let theme = match &self.config["theme"].as_str() { + let last_updated = Local::now().to_rfc3339_opts(chrono::SecondsFormat::Secs, true); + self.json["last_updated"] = last_updated.to_string().into(); + self.theme = match &self.config["theme"].as_str() { Some(t) => match *t { "default" => "neutral", "blue" => "gray", @@ -122,13 +104,5 @@ impl ServerData { }, None => "neutral", }; - let globals = object!({ - "metrics": [{"name": "Monitored images", "value": self.json["metrics"]["monitored_images"].as_usize()}, {"name": "Up to date", "value": self.json["metrics"]["up_to_date"].as_usize()}, {"name": "Updates available", "value": self.json["metrics"]["update_available"].as_usize()}, {"name": "Unknown", "value": self.json["metrics"]["unknown"].as_usize()}], - "images": images, - "style": STYLE, - "last_updated": last_updated.to_string(), - "theme": theme - }); - self.template = template.render(&globals).unwrap(); } } diff --git a/src/static/index.css b/src/static/index.css deleted file mode 100644 index 831063b..0000000 --- a/src/static/index.css +++ /dev/null @@ -1 +0,0 @@ -/*! tailwindcss v3.4.4 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.absolute{position:absolute}.relative{position:relative}.mx-auto{margin-left:auto;margin-right:auto}.my-8{margin-bottom:2rem;margin-top:2rem}.ml-auto{margin-left:auto}.flex{display:flex}.grid{display:grid}.size-16{height:4rem;width:4rem}.size-6{height:1.5rem;width:1.5rem}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-\[48rem\]{max-width:48rem}.max-w-\[80rem\]{max-width:80rem}.shrink-0{flex-shrink:0}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-100\/0>:not([hidden])~:not([hidden]){border-color:#f3f4f600}.divide-gray-100\/10>:not([hidden])~:not([hidden]){border-color:#f3f4f61a}.divide-gray-100\/100>:not([hidden])~:not([hidden]){border-color:#f3f4f6}.divide-gray-100\/15>:not([hidden])~:not([hidden]){border-color:#f3f4f626}.divide-gray-100\/20>:not([hidden])~:not([hidden]){border-color:#f3f4f633}.divide-gray-100\/25>:not([hidden])~:not([hidden]){border-color:#f3f4f640}.divide-gray-100\/30>:not([hidden])~:not([hidden]){border-color:#f3f4f64d}.divide-gray-100\/35>:not([hidden])~:not([hidden]){border-color:#f3f4f659}.divide-gray-100\/40>:not([hidden])~:not([hidden]){border-color:#f3f4f666}.divide-gray-100\/45>:not([hidden])~:not([hidden]){border-color:#f3f4f673}.divide-gray-100\/5>:not([hidden])~:not([hidden]){border-color:#f3f4f60d}.divide-gray-100\/50>:not([hidden])~:not([hidden]){border-color:#f3f4f680}.divide-gray-100\/55>:not([hidden])~:not([hidden]){border-color:#f3f4f68c}.divide-gray-100\/60>:not([hidden])~:not([hidden]){border-color:#f3f4f699}.divide-gray-100\/65>:not([hidden])~:not([hidden]){border-color:#f3f4f6a6}.divide-gray-100\/70>:not([hidden])~:not([hidden]){border-color:#f3f4f6b3}.divide-gray-100\/75>:not([hidden])~:not([hidden]){border-color:#f3f4f6bf}.divide-gray-100\/80>:not([hidden])~:not([hidden]){border-color:#f3f4f6cc}.divide-gray-100\/85>:not([hidden])~:not([hidden]){border-color:#f3f4f6d9}.divide-gray-100\/90>:not([hidden])~:not([hidden]){border-color:#f3f4f6e6}.divide-gray-100\/95>:not([hidden])~:not([hidden]){border-color:#f3f4f6f2}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.divide-gray-200\/0>:not([hidden])~:not([hidden]){border-color:#e5e7eb00}.divide-gray-200\/10>:not([hidden])~:not([hidden]){border-color:#e5e7eb1a}.divide-gray-200\/100>:not([hidden])~:not([hidden]){border-color:#e5e7eb}.divide-gray-200\/15>:not([hidden])~:not([hidden]){border-color:#e5e7eb26}.divide-gray-200\/20>:not([hidden])~:not([hidden]){border-color:#e5e7eb33}.divide-gray-200\/25>:not([hidden])~:not([hidden]){border-color:#e5e7eb40}.divide-gray-200\/30>:not([hidden])~:not([hidden]){border-color:#e5e7eb4d}.divide-gray-200\/35>:not([hidden])~:not([hidden]){border-color:#e5e7eb59}.divide-gray-200\/40>:not([hidden])~:not([hidden]){border-color:#e5e7eb66}.divide-gray-200\/45>:not([hidden])~:not([hidden]){border-color:#e5e7eb73}.divide-gray-200\/5>:not([hidden])~:not([hidden]){border-color:#e5e7eb0d}.divide-gray-200\/50>:not([hidden])~:not([hidden]){border-color:#e5e7eb80}.divide-gray-200\/55>:not([hidden])~:not([hidden]){border-color:#e5e7eb8c}.divide-gray-200\/60>:not([hidden])~:not([hidden]){border-color:#e5e7eb99}.divide-gray-200\/65>:not([hidden])~:not([hidden]){border-color:#e5e7eba6}.divide-gray-200\/70>:not([hidden])~:not([hidden]){border-color:#e5e7ebb3}.divide-gray-200\/75>:not([hidden])~:not([hidden]){border-color:#e5e7ebbf}.divide-gray-200\/80>:not([hidden])~:not([hidden]){border-color:#e5e7ebcc}.divide-gray-200\/85>:not([hidden])~:not([hidden]){border-color:#e5e7ebd9}.divide-gray-200\/90>:not([hidden])~:not([hidden]){border-color:#e5e7ebe6}.divide-gray-200\/95>:not([hidden])~:not([hidden]){border-color:#e5e7ebf2}.divide-gray-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(209 213 219/var(--tw-divide-opacity))}.divide-gray-300\/0>:not([hidden])~:not([hidden]){border-color:#d1d5db00}.divide-gray-300\/10>:not([hidden])~:not([hidden]){border-color:#d1d5db1a}.divide-gray-300\/100>:not([hidden])~:not([hidden]){border-color:#d1d5db}.divide-gray-300\/15>:not([hidden])~:not([hidden]){border-color:#d1d5db26}.divide-gray-300\/20>:not([hidden])~:not([hidden]){border-color:#d1d5db33}.divide-gray-300\/25>:not([hidden])~:not([hidden]){border-color:#d1d5db40}.divide-gray-300\/30>:not([hidden])~:not([hidden]){border-color:#d1d5db4d}.divide-gray-300\/35>:not([hidden])~:not([hidden]){border-color:#d1d5db59}.divide-gray-300\/40>:not([hidden])~:not([hidden]){border-color:#d1d5db66}.divide-gray-300\/45>:not([hidden])~:not([hidden]){border-color:#d1d5db73}.divide-gray-300\/5>:not([hidden])~:not([hidden]){border-color:#d1d5db0d}.divide-gray-300\/50>:not([hidden])~:not([hidden]){border-color:#d1d5db80}.divide-gray-300\/55>:not([hidden])~:not([hidden]){border-color:#d1d5db8c}.divide-gray-300\/60>:not([hidden])~:not([hidden]){border-color:#d1d5db99}.divide-gray-300\/65>:not([hidden])~:not([hidden]){border-color:#d1d5dba6}.divide-gray-300\/70>:not([hidden])~:not([hidden]){border-color:#d1d5dbb3}.divide-gray-300\/75>:not([hidden])~:not([hidden]){border-color:#d1d5dbbf}.divide-gray-300\/80>:not([hidden])~:not([hidden]){border-color:#d1d5dbcc}.divide-gray-300\/85>:not([hidden])~:not([hidden]){border-color:#d1d5dbd9}.divide-gray-300\/90>:not([hidden])~:not([hidden]){border-color:#d1d5dbe6}.divide-gray-300\/95>:not([hidden])~:not([hidden]){border-color:#d1d5dbf2}.divide-gray-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(156 163 175/var(--tw-divide-opacity))}.divide-gray-400\/0>:not([hidden])~:not([hidden]){border-color:#9ca3af00}.divide-gray-400\/10>:not([hidden])~:not([hidden]){border-color:#9ca3af1a}.divide-gray-400\/100>:not([hidden])~:not([hidden]){border-color:#9ca3af}.divide-gray-400\/15>:not([hidden])~:not([hidden]){border-color:#9ca3af26}.divide-gray-400\/20>:not([hidden])~:not([hidden]){border-color:#9ca3af33}.divide-gray-400\/25>:not([hidden])~:not([hidden]){border-color:#9ca3af40}.divide-gray-400\/30>:not([hidden])~:not([hidden]){border-color:#9ca3af4d}.divide-gray-400\/35>:not([hidden])~:not([hidden]){border-color:#9ca3af59}.divide-gray-400\/40>:not([hidden])~:not([hidden]){border-color:#9ca3af66}.divide-gray-400\/45>:not([hidden])~:not([hidden]){border-color:#9ca3af73}.divide-gray-400\/5>:not([hidden])~:not([hidden]){border-color:#9ca3af0d}.divide-gray-400\/50>:not([hidden])~:not([hidden]){border-color:#9ca3af80}.divide-gray-400\/55>:not([hidden])~:not([hidden]){border-color:#9ca3af8c}.divide-gray-400\/60>:not([hidden])~:not([hidden]){border-color:#9ca3af99}.divide-gray-400\/65>:not([hidden])~:not([hidden]){border-color:#9ca3afa6}.divide-gray-400\/70>:not([hidden])~:not([hidden]){border-color:#9ca3afb3}.divide-gray-400\/75>:not([hidden])~:not([hidden]){border-color:#9ca3afbf}.divide-gray-400\/80>:not([hidden])~:not([hidden]){border-color:#9ca3afcc}.divide-gray-400\/85>:not([hidden])~:not([hidden]){border-color:#9ca3afd9}.divide-gray-400\/90>:not([hidden])~:not([hidden]){border-color:#9ca3afe6}.divide-gray-400\/95>:not([hidden])~:not([hidden]){border-color:#9ca3aff2}.divide-gray-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(249 250 251/var(--tw-divide-opacity))}.divide-gray-50\/0>:not([hidden])~:not([hidden]){border-color:#f9fafb00}.divide-gray-50\/10>:not([hidden])~:not([hidden]){border-color:#f9fafb1a}.divide-gray-50\/100>:not([hidden])~:not([hidden]){border-color:#f9fafb}.divide-gray-50\/15>:not([hidden])~:not([hidden]){border-color:#f9fafb26}.divide-gray-50\/20>:not([hidden])~:not([hidden]){border-color:#f9fafb33}.divide-gray-50\/25>:not([hidden])~:not([hidden]){border-color:#f9fafb40}.divide-gray-50\/30>:not([hidden])~:not([hidden]){border-color:#f9fafb4d}.divide-gray-50\/35>:not([hidden])~:not([hidden]){border-color:#f9fafb59}.divide-gray-50\/40>:not([hidden])~:not([hidden]){border-color:#f9fafb66}.divide-gray-50\/45>:not([hidden])~:not([hidden]){border-color:#f9fafb73}.divide-gray-50\/5>:not([hidden])~:not([hidden]){border-color:#f9fafb0d}.divide-gray-50\/50>:not([hidden])~:not([hidden]){border-color:#f9fafb80}.divide-gray-50\/55>:not([hidden])~:not([hidden]){border-color:#f9fafb8c}.divide-gray-50\/60>:not([hidden])~:not([hidden]){border-color:#f9fafb99}.divide-gray-50\/65>:not([hidden])~:not([hidden]){border-color:#f9fafba6}.divide-gray-50\/70>:not([hidden])~:not([hidden]){border-color:#f9fafbb3}.divide-gray-50\/75>:not([hidden])~:not([hidden]){border-color:#f9fafbbf}.divide-gray-50\/80>:not([hidden])~:not([hidden]){border-color:#f9fafbcc}.divide-gray-50\/85>:not([hidden])~:not([hidden]){border-color:#f9fafbd9}.divide-gray-50\/90>:not([hidden])~:not([hidden]){border-color:#f9fafbe6}.divide-gray-50\/95>:not([hidden])~:not([hidden]){border-color:#f9fafbf2}.divide-gray-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(107 114 128/var(--tw-divide-opacity))}.divide-gray-500\/0>:not([hidden])~:not([hidden]){border-color:#6b728000}.divide-gray-500\/10>:not([hidden])~:not([hidden]){border-color:#6b72801a}.divide-gray-500\/100>:not([hidden])~:not([hidden]){border-color:#6b7280}.divide-gray-500\/15>:not([hidden])~:not([hidden]){border-color:#6b728026}.divide-gray-500\/20>:not([hidden])~:not([hidden]){border-color:#6b728033}.divide-gray-500\/25>:not([hidden])~:not([hidden]){border-color:#6b728040}.divide-gray-500\/30>:not([hidden])~:not([hidden]){border-color:#6b72804d}.divide-gray-500\/35>:not([hidden])~:not([hidden]){border-color:#6b728059}.divide-gray-500\/40>:not([hidden])~:not([hidden]){border-color:#6b728066}.divide-gray-500\/45>:not([hidden])~:not([hidden]){border-color:#6b728073}.divide-gray-500\/5>:not([hidden])~:not([hidden]){border-color:#6b72800d}.divide-gray-500\/50>:not([hidden])~:not([hidden]){border-color:#6b728080}.divide-gray-500\/55>:not([hidden])~:not([hidden]){border-color:#6b72808c}.divide-gray-500\/60>:not([hidden])~:not([hidden]){border-color:#6b728099}.divide-gray-500\/65>:not([hidden])~:not([hidden]){border-color:#6b7280a6}.divide-gray-500\/70>:not([hidden])~:not([hidden]){border-color:#6b7280b3}.divide-gray-500\/75>:not([hidden])~:not([hidden]){border-color:#6b7280bf}.divide-gray-500\/80>:not([hidden])~:not([hidden]){border-color:#6b7280cc}.divide-gray-500\/85>:not([hidden])~:not([hidden]){border-color:#6b7280d9}.divide-gray-500\/90>:not([hidden])~:not([hidden]){border-color:#6b7280e6}.divide-gray-500\/95>:not([hidden])~:not([hidden]){border-color:#6b7280f2}.divide-gray-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}.divide-gray-600\/0>:not([hidden])~:not([hidden]){border-color:#4b556300}.divide-gray-600\/10>:not([hidden])~:not([hidden]){border-color:#4b55631a}.divide-gray-600\/100>:not([hidden])~:not([hidden]){border-color:#4b5563}.divide-gray-600\/15>:not([hidden])~:not([hidden]){border-color:#4b556326}.divide-gray-600\/20>:not([hidden])~:not([hidden]){border-color:#4b556333}.divide-gray-600\/25>:not([hidden])~:not([hidden]){border-color:#4b556340}.divide-gray-600\/30>:not([hidden])~:not([hidden]){border-color:#4b55634d}.divide-gray-600\/35>:not([hidden])~:not([hidden]){border-color:#4b556359}.divide-gray-600\/40>:not([hidden])~:not([hidden]){border-color:#4b556366}.divide-gray-600\/45>:not([hidden])~:not([hidden]){border-color:#4b556373}.divide-gray-600\/5>:not([hidden])~:not([hidden]){border-color:#4b55630d}.divide-gray-600\/50>:not([hidden])~:not([hidden]){border-color:#4b556380}.divide-gray-600\/55>:not([hidden])~:not([hidden]){border-color:#4b55638c}.divide-gray-600\/60>:not([hidden])~:not([hidden]){border-color:#4b556399}.divide-gray-600\/65>:not([hidden])~:not([hidden]){border-color:#4b5563a6}.divide-gray-600\/70>:not([hidden])~:not([hidden]){border-color:#4b5563b3}.divide-gray-600\/75>:not([hidden])~:not([hidden]){border-color:#4b5563bf}.divide-gray-600\/80>:not([hidden])~:not([hidden]){border-color:#4b5563cc}.divide-gray-600\/85>:not([hidden])~:not([hidden]){border-color:#4b5563d9}.divide-gray-600\/90>:not([hidden])~:not([hidden]){border-color:#4b5563e6}.divide-gray-600\/95>:not([hidden])~:not([hidden]){border-color:#4b5563f2}.divide-gray-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(55 65 81/var(--tw-divide-opacity))}.divide-gray-700\/0>:not([hidden])~:not([hidden]){border-color:#37415100}.divide-gray-700\/10>:not([hidden])~:not([hidden]){border-color:#3741511a}.divide-gray-700\/100>:not([hidden])~:not([hidden]){border-color:#374151}.divide-gray-700\/15>:not([hidden])~:not([hidden]){border-color:#37415126}.divide-gray-700\/20>:not([hidden])~:not([hidden]){border-color:#37415133}.divide-gray-700\/25>:not([hidden])~:not([hidden]){border-color:#37415140}.divide-gray-700\/30>:not([hidden])~:not([hidden]){border-color:#3741514d}.divide-gray-700\/35>:not([hidden])~:not([hidden]){border-color:#37415159}.divide-gray-700\/40>:not([hidden])~:not([hidden]){border-color:#37415166}.divide-gray-700\/45>:not([hidden])~:not([hidden]){border-color:#37415173}.divide-gray-700\/5>:not([hidden])~:not([hidden]){border-color:#3741510d}.divide-gray-700\/50>:not([hidden])~:not([hidden]){border-color:#37415180}.divide-gray-700\/55>:not([hidden])~:not([hidden]){border-color:#3741518c}.divide-gray-700\/60>:not([hidden])~:not([hidden]){border-color:#37415199}.divide-gray-700\/65>:not([hidden])~:not([hidden]){border-color:#374151a6}.divide-gray-700\/70>:not([hidden])~:not([hidden]){border-color:#374151b3}.divide-gray-700\/75>:not([hidden])~:not([hidden]){border-color:#374151bf}.divide-gray-700\/80>:not([hidden])~:not([hidden]){border-color:#374151cc}.divide-gray-700\/85>:not([hidden])~:not([hidden]){border-color:#374151d9}.divide-gray-700\/90>:not([hidden])~:not([hidden]){border-color:#374151e6}.divide-gray-700\/95>:not([hidden])~:not([hidden]){border-color:#374151f2}.divide-gray-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(31 41 55/var(--tw-divide-opacity))}.divide-gray-800\/0>:not([hidden])~:not([hidden]){border-color:#1f293700}.divide-gray-800\/10>:not([hidden])~:not([hidden]){border-color:#1f29371a}.divide-gray-800\/100>:not([hidden])~:not([hidden]){border-color:#1f2937}.divide-gray-800\/15>:not([hidden])~:not([hidden]){border-color:#1f293726}.divide-gray-800\/20>:not([hidden])~:not([hidden]){border-color:#1f293733}.divide-gray-800\/25>:not([hidden])~:not([hidden]){border-color:#1f293740}.divide-gray-800\/30>:not([hidden])~:not([hidden]){border-color:#1f29374d}.divide-gray-800\/35>:not([hidden])~:not([hidden]){border-color:#1f293759}.divide-gray-800\/40>:not([hidden])~:not([hidden]){border-color:#1f293766}.divide-gray-800\/45>:not([hidden])~:not([hidden]){border-color:#1f293773}.divide-gray-800\/5>:not([hidden])~:not([hidden]){border-color:#1f29370d}.divide-gray-800\/50>:not([hidden])~:not([hidden]){border-color:#1f293780}.divide-gray-800\/55>:not([hidden])~:not([hidden]){border-color:#1f29378c}.divide-gray-800\/60>:not([hidden])~:not([hidden]){border-color:#1f293799}.divide-gray-800\/65>:not([hidden])~:not([hidden]){border-color:#1f2937a6}.divide-gray-800\/70>:not([hidden])~:not([hidden]){border-color:#1f2937b3}.divide-gray-800\/75>:not([hidden])~:not([hidden]){border-color:#1f2937bf}.divide-gray-800\/80>:not([hidden])~:not([hidden]){border-color:#1f2937cc}.divide-gray-800\/85>:not([hidden])~:not([hidden]){border-color:#1f2937d9}.divide-gray-800\/90>:not([hidden])~:not([hidden]){border-color:#1f2937e6}.divide-gray-800\/95>:not([hidden])~:not([hidden]){border-color:#1f2937f2}.divide-gray-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(17 24 39/var(--tw-divide-opacity))}.divide-gray-900\/0>:not([hidden])~:not([hidden]){border-color:#11182700}.divide-gray-900\/10>:not([hidden])~:not([hidden]){border-color:#1118271a}.divide-gray-900\/100>:not([hidden])~:not([hidden]){border-color:#111827}.divide-gray-900\/15>:not([hidden])~:not([hidden]){border-color:#11182726}.divide-gray-900\/20>:not([hidden])~:not([hidden]){border-color:#11182733}.divide-gray-900\/25>:not([hidden])~:not([hidden]){border-color:#11182740}.divide-gray-900\/30>:not([hidden])~:not([hidden]){border-color:#1118274d}.divide-gray-900\/35>:not([hidden])~:not([hidden]){border-color:#11182759}.divide-gray-900\/40>:not([hidden])~:not([hidden]){border-color:#11182766}.divide-gray-900\/45>:not([hidden])~:not([hidden]){border-color:#11182773}.divide-gray-900\/5>:not([hidden])~:not([hidden]){border-color:#1118270d}.divide-gray-900\/50>:not([hidden])~:not([hidden]){border-color:#11182780}.divide-gray-900\/55>:not([hidden])~:not([hidden]){border-color:#1118278c}.divide-gray-900\/60>:not([hidden])~:not([hidden]){border-color:#11182799}.divide-gray-900\/65>:not([hidden])~:not([hidden]){border-color:#111827a6}.divide-gray-900\/70>:not([hidden])~:not([hidden]){border-color:#111827b3}.divide-gray-900\/75>:not([hidden])~:not([hidden]){border-color:#111827bf}.divide-gray-900\/80>:not([hidden])~:not([hidden]){border-color:#111827cc}.divide-gray-900\/85>:not([hidden])~:not([hidden]){border-color:#111827d9}.divide-gray-900\/90>:not([hidden])~:not([hidden]){border-color:#111827e6}.divide-gray-900\/95>:not([hidden])~:not([hidden]){border-color:#111827f2}.divide-gray-950>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(3 7 18/var(--tw-divide-opacity))}.divide-gray-950\/0>:not([hidden])~:not([hidden]){border-color:#03071200}.divide-gray-950\/10>:not([hidden])~:not([hidden]){border-color:#0307121a}.divide-gray-950\/100>:not([hidden])~:not([hidden]){border-color:#030712}.divide-gray-950\/15>:not([hidden])~:not([hidden]){border-color:#03071226}.divide-gray-950\/20>:not([hidden])~:not([hidden]){border-color:#03071233}.divide-gray-950\/25>:not([hidden])~:not([hidden]){border-color:#03071240}.divide-gray-950\/30>:not([hidden])~:not([hidden]){border-color:#0307124d}.divide-gray-950\/35>:not([hidden])~:not([hidden]){border-color:#03071259}.divide-gray-950\/40>:not([hidden])~:not([hidden]){border-color:#03071266}.divide-gray-950\/45>:not([hidden])~:not([hidden]){border-color:#03071273}.divide-gray-950\/5>:not([hidden])~:not([hidden]){border-color:#0307120d}.divide-gray-950\/50>:not([hidden])~:not([hidden]){border-color:#03071280}.divide-gray-950\/55>:not([hidden])~:not([hidden]){border-color:#0307128c}.divide-gray-950\/60>:not([hidden])~:not([hidden]){border-color:#03071299}.divide-gray-950\/65>:not([hidden])~:not([hidden]){border-color:#030712a6}.divide-gray-950\/70>:not([hidden])~:not([hidden]){border-color:#030712b3}.divide-gray-950\/75>:not([hidden])~:not([hidden]){border-color:#030712bf}.divide-gray-950\/80>:not([hidden])~:not([hidden]){border-color:#030712cc}.divide-gray-950\/85>:not([hidden])~:not([hidden]){border-color:#030712d9}.divide-gray-950\/90>:not([hidden])~:not([hidden]){border-color:#030712e6}.divide-gray-950\/95>:not([hidden])~:not([hidden]){border-color:#030712f2}.divide-neutral-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(245 245 245/var(--tw-divide-opacity))}.divide-neutral-100\/0>:not([hidden])~:not([hidden]){border-color:#f5f5f500}.divide-neutral-100\/10>:not([hidden])~:not([hidden]){border-color:#f5f5f51a}.divide-neutral-100\/100>:not([hidden])~:not([hidden]){border-color:#f5f5f5}.divide-neutral-100\/15>:not([hidden])~:not([hidden]){border-color:#f5f5f526}.divide-neutral-100\/20>:not([hidden])~:not([hidden]){border-color:#f5f5f533}.divide-neutral-100\/25>:not([hidden])~:not([hidden]){border-color:#f5f5f540}.divide-neutral-100\/30>:not([hidden])~:not([hidden]){border-color:#f5f5f54d}.divide-neutral-100\/35>:not([hidden])~:not([hidden]){border-color:#f5f5f559}.divide-neutral-100\/40>:not([hidden])~:not([hidden]){border-color:#f5f5f566}.divide-neutral-100\/45>:not([hidden])~:not([hidden]){border-color:#f5f5f573}.divide-neutral-100\/5>:not([hidden])~:not([hidden]){border-color:#f5f5f50d}.divide-neutral-100\/50>:not([hidden])~:not([hidden]){border-color:#f5f5f580}.divide-neutral-100\/55>:not([hidden])~:not([hidden]){border-color:#f5f5f58c}.divide-neutral-100\/60>:not([hidden])~:not([hidden]){border-color:#f5f5f599}.divide-neutral-100\/65>:not([hidden])~:not([hidden]){border-color:#f5f5f5a6}.divide-neutral-100\/70>:not([hidden])~:not([hidden]){border-color:#f5f5f5b3}.divide-neutral-100\/75>:not([hidden])~:not([hidden]){border-color:#f5f5f5bf}.divide-neutral-100\/80>:not([hidden])~:not([hidden]){border-color:#f5f5f5cc}.divide-neutral-100\/85>:not([hidden])~:not([hidden]){border-color:#f5f5f5d9}.divide-neutral-100\/90>:not([hidden])~:not([hidden]){border-color:#f5f5f5e6}.divide-neutral-100\/95>:not([hidden])~:not([hidden]){border-color:#f5f5f5f2}.divide-neutral-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 229 229/var(--tw-divide-opacity))}.divide-neutral-200\/0>:not([hidden])~:not([hidden]){border-color:#e5e5e500}.divide-neutral-200\/10>:not([hidden])~:not([hidden]){border-color:#e5e5e51a}.divide-neutral-200\/100>:not([hidden])~:not([hidden]){border-color:#e5e5e5}.divide-neutral-200\/15>:not([hidden])~:not([hidden]){border-color:#e5e5e526}.divide-neutral-200\/20>:not([hidden])~:not([hidden]){border-color:#e5e5e533}.divide-neutral-200\/25>:not([hidden])~:not([hidden]){border-color:#e5e5e540}.divide-neutral-200\/30>:not([hidden])~:not([hidden]){border-color:#e5e5e54d}.divide-neutral-200\/35>:not([hidden])~:not([hidden]){border-color:#e5e5e559}.divide-neutral-200\/40>:not([hidden])~:not([hidden]){border-color:#e5e5e566}.divide-neutral-200\/45>:not([hidden])~:not([hidden]){border-color:#e5e5e573}.divide-neutral-200\/5>:not([hidden])~:not([hidden]){border-color:#e5e5e50d}.divide-neutral-200\/50>:not([hidden])~:not([hidden]){border-color:#e5e5e580}.divide-neutral-200\/55>:not([hidden])~:not([hidden]){border-color:#e5e5e58c}.divide-neutral-200\/60>:not([hidden])~:not([hidden]){border-color:#e5e5e599}.divide-neutral-200\/65>:not([hidden])~:not([hidden]){border-color:#e5e5e5a6}.divide-neutral-200\/70>:not([hidden])~:not([hidden]){border-color:#e5e5e5b3}.divide-neutral-200\/75>:not([hidden])~:not([hidden]){border-color:#e5e5e5bf}.divide-neutral-200\/80>:not([hidden])~:not([hidden]){border-color:#e5e5e5cc}.divide-neutral-200\/85>:not([hidden])~:not([hidden]){border-color:#e5e5e5d9}.divide-neutral-200\/90>:not([hidden])~:not([hidden]){border-color:#e5e5e5e6}.divide-neutral-200\/95>:not([hidden])~:not([hidden]){border-color:#e5e5e5f2}.divide-neutral-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(212 212 212/var(--tw-divide-opacity))}.divide-neutral-300\/0>:not([hidden])~:not([hidden]){border-color:#d4d4d400}.divide-neutral-300\/10>:not([hidden])~:not([hidden]){border-color:#d4d4d41a}.divide-neutral-300\/100>:not([hidden])~:not([hidden]){border-color:#d4d4d4}.divide-neutral-300\/15>:not([hidden])~:not([hidden]){border-color:#d4d4d426}.divide-neutral-300\/20>:not([hidden])~:not([hidden]){border-color:#d4d4d433}.divide-neutral-300\/25>:not([hidden])~:not([hidden]){border-color:#d4d4d440}.divide-neutral-300\/30>:not([hidden])~:not([hidden]){border-color:#d4d4d44d}.divide-neutral-300\/35>:not([hidden])~:not([hidden]){border-color:#d4d4d459}.divide-neutral-300\/40>:not([hidden])~:not([hidden]){border-color:#d4d4d466}.divide-neutral-300\/45>:not([hidden])~:not([hidden]){border-color:#d4d4d473}.divide-neutral-300\/5>:not([hidden])~:not([hidden]){border-color:#d4d4d40d}.divide-neutral-300\/50>:not([hidden])~:not([hidden]){border-color:#d4d4d480}.divide-neutral-300\/55>:not([hidden])~:not([hidden]){border-color:#d4d4d48c}.divide-neutral-300\/60>:not([hidden])~:not([hidden]){border-color:#d4d4d499}.divide-neutral-300\/65>:not([hidden])~:not([hidden]){border-color:#d4d4d4a6}.divide-neutral-300\/70>:not([hidden])~:not([hidden]){border-color:#d4d4d4b3}.divide-neutral-300\/75>:not([hidden])~:not([hidden]){border-color:#d4d4d4bf}.divide-neutral-300\/80>:not([hidden])~:not([hidden]){border-color:#d4d4d4cc}.divide-neutral-300\/85>:not([hidden])~:not([hidden]){border-color:#d4d4d4d9}.divide-neutral-300\/90>:not([hidden])~:not([hidden]){border-color:#d4d4d4e6}.divide-neutral-300\/95>:not([hidden])~:not([hidden]){border-color:#d4d4d4f2}.divide-neutral-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(163 163 163/var(--tw-divide-opacity))}.divide-neutral-400\/0>:not([hidden])~:not([hidden]){border-color:#a3a3a300}.divide-neutral-400\/10>:not([hidden])~:not([hidden]){border-color:#a3a3a31a}.divide-neutral-400\/100>:not([hidden])~:not([hidden]){border-color:#a3a3a3}.divide-neutral-400\/15>:not([hidden])~:not([hidden]){border-color:#a3a3a326}.divide-neutral-400\/20>:not([hidden])~:not([hidden]){border-color:#a3a3a333}.divide-neutral-400\/25>:not([hidden])~:not([hidden]){border-color:#a3a3a340}.divide-neutral-400\/30>:not([hidden])~:not([hidden]){border-color:#a3a3a34d}.divide-neutral-400\/35>:not([hidden])~:not([hidden]){border-color:#a3a3a359}.divide-neutral-400\/40>:not([hidden])~:not([hidden]){border-color:#a3a3a366}.divide-neutral-400\/45>:not([hidden])~:not([hidden]){border-color:#a3a3a373}.divide-neutral-400\/5>:not([hidden])~:not([hidden]){border-color:#a3a3a30d}.divide-neutral-400\/50>:not([hidden])~:not([hidden]){border-color:#a3a3a380}.divide-neutral-400\/55>:not([hidden])~:not([hidden]){border-color:#a3a3a38c}.divide-neutral-400\/60>:not([hidden])~:not([hidden]){border-color:#a3a3a399}.divide-neutral-400\/65>:not([hidden])~:not([hidden]){border-color:#a3a3a3a6}.divide-neutral-400\/70>:not([hidden])~:not([hidden]){border-color:#a3a3a3b3}.divide-neutral-400\/75>:not([hidden])~:not([hidden]){border-color:#a3a3a3bf}.divide-neutral-400\/80>:not([hidden])~:not([hidden]){border-color:#a3a3a3cc}.divide-neutral-400\/85>:not([hidden])~:not([hidden]){border-color:#a3a3a3d9}.divide-neutral-400\/90>:not([hidden])~:not([hidden]){border-color:#a3a3a3e6}.divide-neutral-400\/95>:not([hidden])~:not([hidden]){border-color:#a3a3a3f2}.divide-neutral-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(250 250 250/var(--tw-divide-opacity))}.divide-neutral-50\/0>:not([hidden])~:not([hidden]){border-color:#fafafa00}.divide-neutral-50\/10>:not([hidden])~:not([hidden]){border-color:#fafafa1a}.divide-neutral-50\/100>:not([hidden])~:not([hidden]){border-color:#fafafa}.divide-neutral-50\/15>:not([hidden])~:not([hidden]){border-color:#fafafa26}.divide-neutral-50\/20>:not([hidden])~:not([hidden]){border-color:#fafafa33}.divide-neutral-50\/25>:not([hidden])~:not([hidden]){border-color:#fafafa40}.divide-neutral-50\/30>:not([hidden])~:not([hidden]){border-color:#fafafa4d}.divide-neutral-50\/35>:not([hidden])~:not([hidden]){border-color:#fafafa59}.divide-neutral-50\/40>:not([hidden])~:not([hidden]){border-color:#fafafa66}.divide-neutral-50\/45>:not([hidden])~:not([hidden]){border-color:#fafafa73}.divide-neutral-50\/5>:not([hidden])~:not([hidden]){border-color:#fafafa0d}.divide-neutral-50\/50>:not([hidden])~:not([hidden]){border-color:#fafafa80}.divide-neutral-50\/55>:not([hidden])~:not([hidden]){border-color:#fafafa8c}.divide-neutral-50\/60>:not([hidden])~:not([hidden]){border-color:#fafafa99}.divide-neutral-50\/65>:not([hidden])~:not([hidden]){border-color:#fafafaa6}.divide-neutral-50\/70>:not([hidden])~:not([hidden]){border-color:#fafafab3}.divide-neutral-50\/75>:not([hidden])~:not([hidden]){border-color:#fafafabf}.divide-neutral-50\/80>:not([hidden])~:not([hidden]){border-color:#fafafacc}.divide-neutral-50\/85>:not([hidden])~:not([hidden]){border-color:#fafafad9}.divide-neutral-50\/90>:not([hidden])~:not([hidden]){border-color:#fafafae6}.divide-neutral-50\/95>:not([hidden])~:not([hidden]){border-color:#fafafaf2}.divide-neutral-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(115 115 115/var(--tw-divide-opacity))}.divide-neutral-500\/0>:not([hidden])~:not([hidden]){border-color:#73737300}.divide-neutral-500\/10>:not([hidden])~:not([hidden]){border-color:#7373731a}.divide-neutral-500\/100>:not([hidden])~:not([hidden]){border-color:#737373}.divide-neutral-500\/15>:not([hidden])~:not([hidden]){border-color:#73737326}.divide-neutral-500\/20>:not([hidden])~:not([hidden]){border-color:#73737333}.divide-neutral-500\/25>:not([hidden])~:not([hidden]){border-color:#73737340}.divide-neutral-500\/30>:not([hidden])~:not([hidden]){border-color:#7373734d}.divide-neutral-500\/35>:not([hidden])~:not([hidden]){border-color:#73737359}.divide-neutral-500\/40>:not([hidden])~:not([hidden]){border-color:#73737366}.divide-neutral-500\/45>:not([hidden])~:not([hidden]){border-color:#73737373}.divide-neutral-500\/5>:not([hidden])~:not([hidden]){border-color:#7373730d}.divide-neutral-500\/50>:not([hidden])~:not([hidden]){border-color:#73737380}.divide-neutral-500\/55>:not([hidden])~:not([hidden]){border-color:#7373738c}.divide-neutral-500\/60>:not([hidden])~:not([hidden]){border-color:#73737399}.divide-neutral-500\/65>:not([hidden])~:not([hidden]){border-color:#737373a6}.divide-neutral-500\/70>:not([hidden])~:not([hidden]){border-color:#737373b3}.divide-neutral-500\/75>:not([hidden])~:not([hidden]){border-color:#737373bf}.divide-neutral-500\/80>:not([hidden])~:not([hidden]){border-color:#737373cc}.divide-neutral-500\/85>:not([hidden])~:not([hidden]){border-color:#737373d9}.divide-neutral-500\/90>:not([hidden])~:not([hidden]){border-color:#737373e6}.divide-neutral-500\/95>:not([hidden])~:not([hidden]){border-color:#737373f2}.divide-neutral-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(82 82 82/var(--tw-divide-opacity))}.divide-neutral-600\/0>:not([hidden])~:not([hidden]){border-color:#52525200}.divide-neutral-600\/10>:not([hidden])~:not([hidden]){border-color:#5252521a}.divide-neutral-600\/100>:not([hidden])~:not([hidden]){border-color:#525252}.divide-neutral-600\/15>:not([hidden])~:not([hidden]){border-color:#52525226}.divide-neutral-600\/20>:not([hidden])~:not([hidden]){border-color:#52525233}.divide-neutral-600\/25>:not([hidden])~:not([hidden]){border-color:#52525240}.divide-neutral-600\/30>:not([hidden])~:not([hidden]){border-color:#5252524d}.divide-neutral-600\/35>:not([hidden])~:not([hidden]){border-color:#52525259}.divide-neutral-600\/40>:not([hidden])~:not([hidden]){border-color:#52525266}.divide-neutral-600\/45>:not([hidden])~:not([hidden]){border-color:#52525273}.divide-neutral-600\/5>:not([hidden])~:not([hidden]){border-color:#5252520d}.divide-neutral-600\/50>:not([hidden])~:not([hidden]){border-color:#52525280}.divide-neutral-600\/55>:not([hidden])~:not([hidden]){border-color:#5252528c}.divide-neutral-600\/60>:not([hidden])~:not([hidden]){border-color:#52525299}.divide-neutral-600\/65>:not([hidden])~:not([hidden]){border-color:#525252a6}.divide-neutral-600\/70>:not([hidden])~:not([hidden]){border-color:#525252b3}.divide-neutral-600\/75>:not([hidden])~:not([hidden]){border-color:#525252bf}.divide-neutral-600\/80>:not([hidden])~:not([hidden]){border-color:#525252cc}.divide-neutral-600\/85>:not([hidden])~:not([hidden]){border-color:#525252d9}.divide-neutral-600\/90>:not([hidden])~:not([hidden]){border-color:#525252e6}.divide-neutral-600\/95>:not([hidden])~:not([hidden]){border-color:#525252f2}.divide-neutral-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(64 64 64/var(--tw-divide-opacity))}.divide-neutral-700\/0>:not([hidden])~:not([hidden]){border-color:#40404000}.divide-neutral-700\/10>:not([hidden])~:not([hidden]){border-color:#4040401a}.divide-neutral-700\/100>:not([hidden])~:not([hidden]){border-color:#404040}.divide-neutral-700\/15>:not([hidden])~:not([hidden]){border-color:#40404026}.divide-neutral-700\/20>:not([hidden])~:not([hidden]){border-color:#40404033}.divide-neutral-700\/25>:not([hidden])~:not([hidden]){border-color:#40404040}.divide-neutral-700\/30>:not([hidden])~:not([hidden]){border-color:#4040404d}.divide-neutral-700\/35>:not([hidden])~:not([hidden]){border-color:#40404059}.divide-neutral-700\/40>:not([hidden])~:not([hidden]){border-color:#40404066}.divide-neutral-700\/45>:not([hidden])~:not([hidden]){border-color:#40404073}.divide-neutral-700\/5>:not([hidden])~:not([hidden]){border-color:#4040400d}.divide-neutral-700\/50>:not([hidden])~:not([hidden]){border-color:#40404080}.divide-neutral-700\/55>:not([hidden])~:not([hidden]){border-color:#4040408c}.divide-neutral-700\/60>:not([hidden])~:not([hidden]){border-color:#40404099}.divide-neutral-700\/65>:not([hidden])~:not([hidden]){border-color:#404040a6}.divide-neutral-700\/70>:not([hidden])~:not([hidden]){border-color:#404040b3}.divide-neutral-700\/75>:not([hidden])~:not([hidden]){border-color:#404040bf}.divide-neutral-700\/80>:not([hidden])~:not([hidden]){border-color:#404040cc}.divide-neutral-700\/85>:not([hidden])~:not([hidden]){border-color:#404040d9}.divide-neutral-700\/90>:not([hidden])~:not([hidden]){border-color:#404040e6}.divide-neutral-700\/95>:not([hidden])~:not([hidden]){border-color:#404040f2}.divide-neutral-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(38 38 38/var(--tw-divide-opacity))}.divide-neutral-800\/0>:not([hidden])~:not([hidden]){border-color:#26262600}.divide-neutral-800\/10>:not([hidden])~:not([hidden]){border-color:#2626261a}.divide-neutral-800\/100>:not([hidden])~:not([hidden]){border-color:#262626}.divide-neutral-800\/15>:not([hidden])~:not([hidden]){border-color:#26262626}.divide-neutral-800\/20>:not([hidden])~:not([hidden]){border-color:#26262633}.divide-neutral-800\/25>:not([hidden])~:not([hidden]){border-color:#26262640}.divide-neutral-800\/30>:not([hidden])~:not([hidden]){border-color:#2626264d}.divide-neutral-800\/35>:not([hidden])~:not([hidden]){border-color:#26262659}.divide-neutral-800\/40>:not([hidden])~:not([hidden]){border-color:#26262666}.divide-neutral-800\/45>:not([hidden])~:not([hidden]){border-color:#26262673}.divide-neutral-800\/5>:not([hidden])~:not([hidden]){border-color:#2626260d}.divide-neutral-800\/50>:not([hidden])~:not([hidden]){border-color:#26262680}.divide-neutral-800\/55>:not([hidden])~:not([hidden]){border-color:#2626268c}.divide-neutral-800\/60>:not([hidden])~:not([hidden]){border-color:#26262699}.divide-neutral-800\/65>:not([hidden])~:not([hidden]){border-color:#262626a6}.divide-neutral-800\/70>:not([hidden])~:not([hidden]){border-color:#262626b3}.divide-neutral-800\/75>:not([hidden])~:not([hidden]){border-color:#262626bf}.divide-neutral-800\/80>:not([hidden])~:not([hidden]){border-color:#262626cc}.divide-neutral-800\/85>:not([hidden])~:not([hidden]){border-color:#262626d9}.divide-neutral-800\/90>:not([hidden])~:not([hidden]){border-color:#262626e6}.divide-neutral-800\/95>:not([hidden])~:not([hidden]){border-color:#262626f2}.divide-neutral-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(23 23 23/var(--tw-divide-opacity))}.divide-neutral-900\/0>:not([hidden])~:not([hidden]){border-color:#17171700}.divide-neutral-900\/10>:not([hidden])~:not([hidden]){border-color:#1717171a}.divide-neutral-900\/100>:not([hidden])~:not([hidden]){border-color:#171717}.divide-neutral-900\/15>:not([hidden])~:not([hidden]){border-color:#17171726}.divide-neutral-900\/20>:not([hidden])~:not([hidden]){border-color:#17171733}.divide-neutral-900\/25>:not([hidden])~:not([hidden]){border-color:#17171740}.divide-neutral-900\/30>:not([hidden])~:not([hidden]){border-color:#1717174d}.divide-neutral-900\/35>:not([hidden])~:not([hidden]){border-color:#17171759}.divide-neutral-900\/40>:not([hidden])~:not([hidden]){border-color:#17171766}.divide-neutral-900\/45>:not([hidden])~:not([hidden]){border-color:#17171773}.divide-neutral-900\/5>:not([hidden])~:not([hidden]){border-color:#1717170d}.divide-neutral-900\/50>:not([hidden])~:not([hidden]){border-color:#17171780}.divide-neutral-900\/55>:not([hidden])~:not([hidden]){border-color:#1717178c}.divide-neutral-900\/60>:not([hidden])~:not([hidden]){border-color:#17171799}.divide-neutral-900\/65>:not([hidden])~:not([hidden]){border-color:#171717a6}.divide-neutral-900\/70>:not([hidden])~:not([hidden]){border-color:#171717b3}.divide-neutral-900\/75>:not([hidden])~:not([hidden]){border-color:#171717bf}.divide-neutral-900\/80>:not([hidden])~:not([hidden]){border-color:#171717cc}.divide-neutral-900\/85>:not([hidden])~:not([hidden]){border-color:#171717d9}.divide-neutral-900\/90>:not([hidden])~:not([hidden]){border-color:#171717e6}.divide-neutral-900\/95>:not([hidden])~:not([hidden]){border-color:#171717f2}.divide-neutral-950>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(10 10 10/var(--tw-divide-opacity))}.divide-neutral-950\/0>:not([hidden])~:not([hidden]){border-color:#0a0a0a00}.divide-neutral-950\/10>:not([hidden])~:not([hidden]){border-color:#0a0a0a1a}.divide-neutral-950\/100>:not([hidden])~:not([hidden]){border-color:#0a0a0a}.divide-neutral-950\/15>:not([hidden])~:not([hidden]){border-color:#0a0a0a26}.divide-neutral-950\/20>:not([hidden])~:not([hidden]){border-color:#0a0a0a33}.divide-neutral-950\/25>:not([hidden])~:not([hidden]){border-color:#0a0a0a40}.divide-neutral-950\/30>:not([hidden])~:not([hidden]){border-color:#0a0a0a4d}.divide-neutral-950\/35>:not([hidden])~:not([hidden]){border-color:#0a0a0a59}.divide-neutral-950\/40>:not([hidden])~:not([hidden]){border-color:#0a0a0a66}.divide-neutral-950\/45>:not([hidden])~:not([hidden]){border-color:#0a0a0a73}.divide-neutral-950\/5>:not([hidden])~:not([hidden]){border-color:#0a0a0a0d}.divide-neutral-950\/50>:not([hidden])~:not([hidden]){border-color:#0a0a0a80}.divide-neutral-950\/55>:not([hidden])~:not([hidden]){border-color:#0a0a0a8c}.divide-neutral-950\/60>:not([hidden])~:not([hidden]){border-color:#0a0a0a99}.divide-neutral-950\/65>:not([hidden])~:not([hidden]){border-color:#0a0a0aa6}.divide-neutral-950\/70>:not([hidden])~:not([hidden]){border-color:#0a0a0ab3}.divide-neutral-950\/75>:not([hidden])~:not([hidden]){border-color:#0a0a0abf}.divide-neutral-950\/80>:not([hidden])~:not([hidden]){border-color:#0a0a0acc}.divide-neutral-950\/85>:not([hidden])~:not([hidden]){border-color:#0a0a0ad9}.divide-neutral-950\/90>:not([hidden])~:not([hidden]){border-color:#0a0a0ae6}.divide-neutral-950\/95>:not([hidden])~:not([hidden]){border-color:#0a0a0af2}.overflow-hidden{overflow:hidden}.rounded-md{border-radius:.375rem}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-100\/0{background-color:#f3f4f600}.bg-gray-100\/10{background-color:#f3f4f61a}.bg-gray-100\/100{background-color:#f3f4f6}.bg-gray-100\/15{background-color:#f3f4f626}.bg-gray-100\/20{background-color:#f3f4f633}.bg-gray-100\/25{background-color:#f3f4f640}.bg-gray-100\/30{background-color:#f3f4f64d}.bg-gray-100\/35{background-color:#f3f4f659}.bg-gray-100\/40{background-color:#f3f4f666}.bg-gray-100\/45{background-color:#f3f4f673}.bg-gray-100\/5{background-color:#f3f4f60d}.bg-gray-100\/50{background-color:#f3f4f680}.bg-gray-100\/55{background-color:#f3f4f68c}.bg-gray-100\/60{background-color:#f3f4f699}.bg-gray-100\/65{background-color:#f3f4f6a6}.bg-gray-100\/70{background-color:#f3f4f6b3}.bg-gray-100\/75{background-color:#f3f4f6bf}.bg-gray-100\/80{background-color:#f3f4f6cc}.bg-gray-100\/85{background-color:#f3f4f6d9}.bg-gray-100\/90{background-color:#f3f4f6e6}.bg-gray-100\/95{background-color:#f3f4f6f2}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-200\/0{background-color:#e5e7eb00}.bg-gray-200\/10{background-color:#e5e7eb1a}.bg-gray-200\/100{background-color:#e5e7eb}.bg-gray-200\/15{background-color:#e5e7eb26}.bg-gray-200\/20{background-color:#e5e7eb33}.bg-gray-200\/25{background-color:#e5e7eb40}.bg-gray-200\/30{background-color:#e5e7eb4d}.bg-gray-200\/35{background-color:#e5e7eb59}.bg-gray-200\/40{background-color:#e5e7eb66}.bg-gray-200\/45{background-color:#e5e7eb73}.bg-gray-200\/5{background-color:#e5e7eb0d}.bg-gray-200\/50{background-color:#e5e7eb80}.bg-gray-200\/55{background-color:#e5e7eb8c}.bg-gray-200\/60{background-color:#e5e7eb99}.bg-gray-200\/65{background-color:#e5e7eba6}.bg-gray-200\/70{background-color:#e5e7ebb3}.bg-gray-200\/75{background-color:#e5e7ebbf}.bg-gray-200\/80{background-color:#e5e7ebcc}.bg-gray-200\/85{background-color:#e5e7ebd9}.bg-gray-200\/90{background-color:#e5e7ebe6}.bg-gray-200\/95{background-color:#e5e7ebf2}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.bg-gray-300\/0{background-color:#d1d5db00}.bg-gray-300\/10{background-color:#d1d5db1a}.bg-gray-300\/100{background-color:#d1d5db}.bg-gray-300\/15{background-color:#d1d5db26}.bg-gray-300\/20{background-color:#d1d5db33}.bg-gray-300\/25{background-color:#d1d5db40}.bg-gray-300\/30{background-color:#d1d5db4d}.bg-gray-300\/35{background-color:#d1d5db59}.bg-gray-300\/40{background-color:#d1d5db66}.bg-gray-300\/45{background-color:#d1d5db73}.bg-gray-300\/5{background-color:#d1d5db0d}.bg-gray-300\/50{background-color:#d1d5db80}.bg-gray-300\/55{background-color:#d1d5db8c}.bg-gray-300\/60{background-color:#d1d5db99}.bg-gray-300\/65{background-color:#d1d5dba6}.bg-gray-300\/70{background-color:#d1d5dbb3}.bg-gray-300\/75{background-color:#d1d5dbbf}.bg-gray-300\/80{background-color:#d1d5dbcc}.bg-gray-300\/85{background-color:#d1d5dbd9}.bg-gray-300\/90{background-color:#d1d5dbe6}.bg-gray-300\/95{background-color:#d1d5dbf2}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-400\/0{background-color:#9ca3af00}.bg-gray-400\/10{background-color:#9ca3af1a}.bg-gray-400\/100{background-color:#9ca3af}.bg-gray-400\/15{background-color:#9ca3af26}.bg-gray-400\/20{background-color:#9ca3af33}.bg-gray-400\/25{background-color:#9ca3af40}.bg-gray-400\/30{background-color:#9ca3af4d}.bg-gray-400\/35{background-color:#9ca3af59}.bg-gray-400\/40{background-color:#9ca3af66}.bg-gray-400\/45{background-color:#9ca3af73}.bg-gray-400\/5{background-color:#9ca3af0d}.bg-gray-400\/50{background-color:#9ca3af80}.bg-gray-400\/55{background-color:#9ca3af8c}.bg-gray-400\/60{background-color:#9ca3af99}.bg-gray-400\/65{background-color:#9ca3afa6}.bg-gray-400\/70{background-color:#9ca3afb3}.bg-gray-400\/75{background-color:#9ca3afbf}.bg-gray-400\/80{background-color:#9ca3afcc}.bg-gray-400\/85{background-color:#9ca3afd9}.bg-gray-400\/90{background-color:#9ca3afe6}.bg-gray-400\/95{background-color:#9ca3aff2}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-50\/0{background-color:#f9fafb00}.bg-gray-50\/10{background-color:#f9fafb1a}.bg-gray-50\/100{background-color:#f9fafb}.bg-gray-50\/15{background-color:#f9fafb26}.bg-gray-50\/20{background-color:#f9fafb33}.bg-gray-50\/25{background-color:#f9fafb40}.bg-gray-50\/30{background-color:#f9fafb4d}.bg-gray-50\/35{background-color:#f9fafb59}.bg-gray-50\/40{background-color:#f9fafb66}.bg-gray-50\/45{background-color:#f9fafb73}.bg-gray-50\/5{background-color:#f9fafb0d}.bg-gray-50\/50{background-color:#f9fafb80}.bg-gray-50\/55{background-color:#f9fafb8c}.bg-gray-50\/60{background-color:#f9fafb99}.bg-gray-50\/65{background-color:#f9fafba6}.bg-gray-50\/70{background-color:#f9fafbb3}.bg-gray-50\/75{background-color:#f9fafbbf}.bg-gray-50\/80{background-color:#f9fafbcc}.bg-gray-50\/85{background-color:#f9fafbd9}.bg-gray-50\/90{background-color:#f9fafbe6}.bg-gray-50\/95{background-color:#f9fafbf2}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.bg-gray-500\/0{background-color:#6b728000}.bg-gray-500\/10{background-color:#6b72801a}.bg-gray-500\/100{background-color:#6b7280}.bg-gray-500\/15{background-color:#6b728026}.bg-gray-500\/20{background-color:#6b728033}.bg-gray-500\/25{background-color:#6b728040}.bg-gray-500\/30{background-color:#6b72804d}.bg-gray-500\/35{background-color:#6b728059}.bg-gray-500\/40{background-color:#6b728066}.bg-gray-500\/45{background-color:#6b728073}.bg-gray-500\/5{background-color:#6b72800d}.bg-gray-500\/50{background-color:#6b728080}.bg-gray-500\/55{background-color:#6b72808c}.bg-gray-500\/60{background-color:#6b728099}.bg-gray-500\/65{background-color:#6b7280a6}.bg-gray-500\/70{background-color:#6b7280b3}.bg-gray-500\/75{background-color:#6b7280bf}.bg-gray-500\/80{background-color:#6b7280cc}.bg-gray-500\/85{background-color:#6b7280d9}.bg-gray-500\/90{background-color:#6b7280e6}.bg-gray-500\/95{background-color:#6b7280f2}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.bg-gray-600\/0{background-color:#4b556300}.bg-gray-600\/10{background-color:#4b55631a}.bg-gray-600\/100{background-color:#4b5563}.bg-gray-600\/15{background-color:#4b556326}.bg-gray-600\/20{background-color:#4b556333}.bg-gray-600\/25{background-color:#4b556340}.bg-gray-600\/30{background-color:#4b55634d}.bg-gray-600\/35{background-color:#4b556359}.bg-gray-600\/40{background-color:#4b556366}.bg-gray-600\/45{background-color:#4b556373}.bg-gray-600\/5{background-color:#4b55630d}.bg-gray-600\/50{background-color:#4b556380}.bg-gray-600\/55{background-color:#4b55638c}.bg-gray-600\/60{background-color:#4b556399}.bg-gray-600\/65{background-color:#4b5563a6}.bg-gray-600\/70{background-color:#4b5563b3}.bg-gray-600\/75{background-color:#4b5563bf}.bg-gray-600\/80{background-color:#4b5563cc}.bg-gray-600\/85{background-color:#4b5563d9}.bg-gray-600\/90{background-color:#4b5563e6}.bg-gray-600\/95{background-color:#4b5563f2}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.bg-gray-700\/0{background-color:#37415100}.bg-gray-700\/10{background-color:#3741511a}.bg-gray-700\/100{background-color:#374151}.bg-gray-700\/15{background-color:#37415126}.bg-gray-700\/20{background-color:#37415133}.bg-gray-700\/25{background-color:#37415140}.bg-gray-700\/30{background-color:#3741514d}.bg-gray-700\/35{background-color:#37415159}.bg-gray-700\/40{background-color:#37415166}.bg-gray-700\/45{background-color:#37415173}.bg-gray-700\/5{background-color:#3741510d}.bg-gray-700\/50{background-color:#37415180}.bg-gray-700\/55{background-color:#3741518c}.bg-gray-700\/60{background-color:#37415199}.bg-gray-700\/65{background-color:#374151a6}.bg-gray-700\/70{background-color:#374151b3}.bg-gray-700\/75{background-color:#374151bf}.bg-gray-700\/80{background-color:#374151cc}.bg-gray-700\/85{background-color:#374151d9}.bg-gray-700\/90{background-color:#374151e6}.bg-gray-700\/95{background-color:#374151f2}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-800\/0{background-color:#1f293700}.bg-gray-800\/10{background-color:#1f29371a}.bg-gray-800\/100{background-color:#1f2937}.bg-gray-800\/15{background-color:#1f293726}.bg-gray-800\/20{background-color:#1f293733}.bg-gray-800\/25{background-color:#1f293740}.bg-gray-800\/30{background-color:#1f29374d}.bg-gray-800\/35{background-color:#1f293759}.bg-gray-800\/40{background-color:#1f293766}.bg-gray-800\/45{background-color:#1f293773}.bg-gray-800\/5{background-color:#1f29370d}.bg-gray-800\/50{background-color:#1f293780}.bg-gray-800\/55{background-color:#1f29378c}.bg-gray-800\/60{background-color:#1f293799}.bg-gray-800\/65{background-color:#1f2937a6}.bg-gray-800\/70{background-color:#1f2937b3}.bg-gray-800\/75{background-color:#1f2937bf}.bg-gray-800\/80{background-color:#1f2937cc}.bg-gray-800\/85{background-color:#1f2937d9}.bg-gray-800\/90{background-color:#1f2937e6}.bg-gray-800\/95{background-color:#1f2937f2}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-gray-900\/0{background-color:#11182700}.bg-gray-900\/10{background-color:#1118271a}.bg-gray-900\/100{background-color:#111827}.bg-gray-900\/15{background-color:#11182726}.bg-gray-900\/20{background-color:#11182733}.bg-gray-900\/25{background-color:#11182740}.bg-gray-900\/30{background-color:#1118274d}.bg-gray-900\/35{background-color:#11182759}.bg-gray-900\/40{background-color:#11182766}.bg-gray-900\/45{background-color:#11182773}.bg-gray-900\/5{background-color:#1118270d}.bg-gray-900\/50{background-color:#11182780}.bg-gray-900\/55{background-color:#1118278c}.bg-gray-900\/60{background-color:#11182799}.bg-gray-900\/65{background-color:#111827a6}.bg-gray-900\/70{background-color:#111827b3}.bg-gray-900\/75{background-color:#111827bf}.bg-gray-900\/80{background-color:#111827cc}.bg-gray-900\/85{background-color:#111827d9}.bg-gray-900\/90{background-color:#111827e6}.bg-gray-900\/95{background-color:#111827f2}.bg-gray-950{--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity))}.bg-gray-950\/0{background-color:#03071200}.bg-gray-950\/10{background-color:#0307121a}.bg-gray-950\/100{background-color:#030712}.bg-gray-950\/15{background-color:#03071226}.bg-gray-950\/20{background-color:#03071233}.bg-gray-950\/25{background-color:#03071240}.bg-gray-950\/30{background-color:#0307124d}.bg-gray-950\/35{background-color:#03071259}.bg-gray-950\/40{background-color:#03071266}.bg-gray-950\/45{background-color:#03071273}.bg-gray-950\/5{background-color:#0307120d}.bg-gray-950\/50{background-color:#03071280}.bg-gray-950\/55{background-color:#0307128c}.bg-gray-950\/60{background-color:#03071299}.bg-gray-950\/65{background-color:#030712a6}.bg-gray-950\/70{background-color:#030712b3}.bg-gray-950\/75{background-color:#030712bf}.bg-gray-950\/80{background-color:#030712cc}.bg-gray-950\/85{background-color:#030712d9}.bg-gray-950\/90{background-color:#030712e6}.bg-gray-950\/95{background-color:#030712f2}.bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.bg-neutral-100\/0{background-color:#f5f5f500}.bg-neutral-100\/10{background-color:#f5f5f51a}.bg-neutral-100\/100{background-color:#f5f5f5}.bg-neutral-100\/15{background-color:#f5f5f526}.bg-neutral-100\/20{background-color:#f5f5f533}.bg-neutral-100\/25{background-color:#f5f5f540}.bg-neutral-100\/30{background-color:#f5f5f54d}.bg-neutral-100\/35{background-color:#f5f5f559}.bg-neutral-100\/40{background-color:#f5f5f566}.bg-neutral-100\/45{background-color:#f5f5f573}.bg-neutral-100\/5{background-color:#f5f5f50d}.bg-neutral-100\/50{background-color:#f5f5f580}.bg-neutral-100\/55{background-color:#f5f5f58c}.bg-neutral-100\/60{background-color:#f5f5f599}.bg-neutral-100\/65{background-color:#f5f5f5a6}.bg-neutral-100\/70{background-color:#f5f5f5b3}.bg-neutral-100\/75{background-color:#f5f5f5bf}.bg-neutral-100\/80{background-color:#f5f5f5cc}.bg-neutral-100\/85{background-color:#f5f5f5d9}.bg-neutral-100\/90{background-color:#f5f5f5e6}.bg-neutral-100\/95{background-color:#f5f5f5f2}.bg-neutral-200{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity))}.bg-neutral-200\/0{background-color:#e5e5e500}.bg-neutral-200\/10{background-color:#e5e5e51a}.bg-neutral-200\/100{background-color:#e5e5e5}.bg-neutral-200\/15{background-color:#e5e5e526}.bg-neutral-200\/20{background-color:#e5e5e533}.bg-neutral-200\/25{background-color:#e5e5e540}.bg-neutral-200\/30{background-color:#e5e5e54d}.bg-neutral-200\/35{background-color:#e5e5e559}.bg-neutral-200\/40{background-color:#e5e5e566}.bg-neutral-200\/45{background-color:#e5e5e573}.bg-neutral-200\/5{background-color:#e5e5e50d}.bg-neutral-200\/50{background-color:#e5e5e580}.bg-neutral-200\/55{background-color:#e5e5e58c}.bg-neutral-200\/60{background-color:#e5e5e599}.bg-neutral-200\/65{background-color:#e5e5e5a6}.bg-neutral-200\/70{background-color:#e5e5e5b3}.bg-neutral-200\/75{background-color:#e5e5e5bf}.bg-neutral-200\/80{background-color:#e5e5e5cc}.bg-neutral-200\/85{background-color:#e5e5e5d9}.bg-neutral-200\/90{background-color:#e5e5e5e6}.bg-neutral-200\/95{background-color:#e5e5e5f2}.bg-neutral-300{--tw-bg-opacity:1;background-color:rgb(212 212 212/var(--tw-bg-opacity))}.bg-neutral-300\/0{background-color:#d4d4d400}.bg-neutral-300\/10{background-color:#d4d4d41a}.bg-neutral-300\/100{background-color:#d4d4d4}.bg-neutral-300\/15{background-color:#d4d4d426}.bg-neutral-300\/20{background-color:#d4d4d433}.bg-neutral-300\/25{background-color:#d4d4d440}.bg-neutral-300\/30{background-color:#d4d4d44d}.bg-neutral-300\/35{background-color:#d4d4d459}.bg-neutral-300\/40{background-color:#d4d4d466}.bg-neutral-300\/45{background-color:#d4d4d473}.bg-neutral-300\/5{background-color:#d4d4d40d}.bg-neutral-300\/50{background-color:#d4d4d480}.bg-neutral-300\/55{background-color:#d4d4d48c}.bg-neutral-300\/60{background-color:#d4d4d499}.bg-neutral-300\/65{background-color:#d4d4d4a6}.bg-neutral-300\/70{background-color:#d4d4d4b3}.bg-neutral-300\/75{background-color:#d4d4d4bf}.bg-neutral-300\/80{background-color:#d4d4d4cc}.bg-neutral-300\/85{background-color:#d4d4d4d9}.bg-neutral-300\/90{background-color:#d4d4d4e6}.bg-neutral-300\/95{background-color:#d4d4d4f2}.bg-neutral-400{--tw-bg-opacity:1;background-color:rgb(163 163 163/var(--tw-bg-opacity))}.bg-neutral-400\/0{background-color:#a3a3a300}.bg-neutral-400\/10{background-color:#a3a3a31a}.bg-neutral-400\/100{background-color:#a3a3a3}.bg-neutral-400\/15{background-color:#a3a3a326}.bg-neutral-400\/20{background-color:#a3a3a333}.bg-neutral-400\/25{background-color:#a3a3a340}.bg-neutral-400\/30{background-color:#a3a3a34d}.bg-neutral-400\/35{background-color:#a3a3a359}.bg-neutral-400\/40{background-color:#a3a3a366}.bg-neutral-400\/45{background-color:#a3a3a373}.bg-neutral-400\/5{background-color:#a3a3a30d}.bg-neutral-400\/50{background-color:#a3a3a380}.bg-neutral-400\/55{background-color:#a3a3a38c}.bg-neutral-400\/60{background-color:#a3a3a399}.bg-neutral-400\/65{background-color:#a3a3a3a6}.bg-neutral-400\/70{background-color:#a3a3a3b3}.bg-neutral-400\/75{background-color:#a3a3a3bf}.bg-neutral-400\/80{background-color:#a3a3a3cc}.bg-neutral-400\/85{background-color:#a3a3a3d9}.bg-neutral-400\/90{background-color:#a3a3a3e6}.bg-neutral-400\/95{background-color:#a3a3a3f2}.bg-neutral-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.bg-neutral-50\/0{background-color:#fafafa00}.bg-neutral-50\/10{background-color:#fafafa1a}.bg-neutral-50\/100{background-color:#fafafa}.bg-neutral-50\/15{background-color:#fafafa26}.bg-neutral-50\/20{background-color:#fafafa33}.bg-neutral-50\/25{background-color:#fafafa40}.bg-neutral-50\/30{background-color:#fafafa4d}.bg-neutral-50\/35{background-color:#fafafa59}.bg-neutral-50\/40{background-color:#fafafa66}.bg-neutral-50\/45{background-color:#fafafa73}.bg-neutral-50\/5{background-color:#fafafa0d}.bg-neutral-50\/50{background-color:#fafafa80}.bg-neutral-50\/55{background-color:#fafafa8c}.bg-neutral-50\/60{background-color:#fafafa99}.bg-neutral-50\/65{background-color:#fafafaa6}.bg-neutral-50\/70{background-color:#fafafab3}.bg-neutral-50\/75{background-color:#fafafabf}.bg-neutral-50\/80{background-color:#fafafacc}.bg-neutral-50\/85{background-color:#fafafad9}.bg-neutral-50\/90{background-color:#fafafae6}.bg-neutral-50\/95{background-color:#fafafaf2}.bg-neutral-500{--tw-bg-opacity:1;background-color:rgb(115 115 115/var(--tw-bg-opacity))}.bg-neutral-500\/0{background-color:#73737300}.bg-neutral-500\/10{background-color:#7373731a}.bg-neutral-500\/100{background-color:#737373}.bg-neutral-500\/15{background-color:#73737326}.bg-neutral-500\/20{background-color:#73737333}.bg-neutral-500\/25{background-color:#73737340}.bg-neutral-500\/30{background-color:#7373734d}.bg-neutral-500\/35{background-color:#73737359}.bg-neutral-500\/40{background-color:#73737366}.bg-neutral-500\/45{background-color:#73737373}.bg-neutral-500\/5{background-color:#7373730d}.bg-neutral-500\/50{background-color:#73737380}.bg-neutral-500\/55{background-color:#7373738c}.bg-neutral-500\/60{background-color:#73737399}.bg-neutral-500\/65{background-color:#737373a6}.bg-neutral-500\/70{background-color:#737373b3}.bg-neutral-500\/75{background-color:#737373bf}.bg-neutral-500\/80{background-color:#737373cc}.bg-neutral-500\/85{background-color:#737373d9}.bg-neutral-500\/90{background-color:#737373e6}.bg-neutral-500\/95{background-color:#737373f2}.bg-neutral-600{--tw-bg-opacity:1;background-color:rgb(82 82 82/var(--tw-bg-opacity))}.bg-neutral-600\/0{background-color:#52525200}.bg-neutral-600\/10{background-color:#5252521a}.bg-neutral-600\/100{background-color:#525252}.bg-neutral-600\/15{background-color:#52525226}.bg-neutral-600\/20{background-color:#52525233}.bg-neutral-600\/25{background-color:#52525240}.bg-neutral-600\/30{background-color:#5252524d}.bg-neutral-600\/35{background-color:#52525259}.bg-neutral-600\/40{background-color:#52525266}.bg-neutral-600\/45{background-color:#52525273}.bg-neutral-600\/5{background-color:#5252520d}.bg-neutral-600\/50{background-color:#52525280}.bg-neutral-600\/55{background-color:#5252528c}.bg-neutral-600\/60{background-color:#52525299}.bg-neutral-600\/65{background-color:#525252a6}.bg-neutral-600\/70{background-color:#525252b3}.bg-neutral-600\/75{background-color:#525252bf}.bg-neutral-600\/80{background-color:#525252cc}.bg-neutral-600\/85{background-color:#525252d9}.bg-neutral-600\/90{background-color:#525252e6}.bg-neutral-600\/95{background-color:#525252f2}.bg-neutral-700{--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity))}.bg-neutral-700\/0{background-color:#40404000}.bg-neutral-700\/10{background-color:#4040401a}.bg-neutral-700\/100{background-color:#404040}.bg-neutral-700\/15{background-color:#40404026}.bg-neutral-700\/20{background-color:#40404033}.bg-neutral-700\/25{background-color:#40404040}.bg-neutral-700\/30{background-color:#4040404d}.bg-neutral-700\/35{background-color:#40404059}.bg-neutral-700\/40{background-color:#40404066}.bg-neutral-700\/45{background-color:#40404073}.bg-neutral-700\/5{background-color:#4040400d}.bg-neutral-700\/50{background-color:#40404080}.bg-neutral-700\/55{background-color:#4040408c}.bg-neutral-700\/60{background-color:#40404099}.bg-neutral-700\/65{background-color:#404040a6}.bg-neutral-700\/70{background-color:#404040b3}.bg-neutral-700\/75{background-color:#404040bf}.bg-neutral-700\/80{background-color:#404040cc}.bg-neutral-700\/85{background-color:#404040d9}.bg-neutral-700\/90{background-color:#404040e6}.bg-neutral-700\/95{background-color:#404040f2}.bg-neutral-800{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity))}.bg-neutral-800\/0{background-color:#26262600}.bg-neutral-800\/10{background-color:#2626261a}.bg-neutral-800\/100{background-color:#262626}.bg-neutral-800\/15{background-color:#26262626}.bg-neutral-800\/20{background-color:#26262633}.bg-neutral-800\/25{background-color:#26262640}.bg-neutral-800\/30{background-color:#2626264d}.bg-neutral-800\/35{background-color:#26262659}.bg-neutral-800\/40{background-color:#26262666}.bg-neutral-800\/45{background-color:#26262673}.bg-neutral-800\/5{background-color:#2626260d}.bg-neutral-800\/50{background-color:#26262680}.bg-neutral-800\/55{background-color:#2626268c}.bg-neutral-800\/60{background-color:#26262699}.bg-neutral-800\/65{background-color:#262626a6}.bg-neutral-800\/70{background-color:#262626b3}.bg-neutral-800\/75{background-color:#262626bf}.bg-neutral-800\/80{background-color:#262626cc}.bg-neutral-800\/85{background-color:#262626d9}.bg-neutral-800\/90{background-color:#262626e6}.bg-neutral-800\/95{background-color:#262626f2}.bg-neutral-900{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity))}.bg-neutral-900\/0{background-color:#17171700}.bg-neutral-900\/10{background-color:#1717171a}.bg-neutral-900\/100{background-color:#171717}.bg-neutral-900\/15{background-color:#17171726}.bg-neutral-900\/20{background-color:#17171733}.bg-neutral-900\/25{background-color:#17171740}.bg-neutral-900\/30{background-color:#1717174d}.bg-neutral-900\/35{background-color:#17171759}.bg-neutral-900\/40{background-color:#17171766}.bg-neutral-900\/45{background-color:#17171773}.bg-neutral-900\/5{background-color:#1717170d}.bg-neutral-900\/50{background-color:#17171780}.bg-neutral-900\/55{background-color:#1717178c}.bg-neutral-900\/60{background-color:#17171799}.bg-neutral-900\/65{background-color:#171717a6}.bg-neutral-900\/70{background-color:#171717b3}.bg-neutral-900\/75{background-color:#171717bf}.bg-neutral-900\/80{background-color:#171717cc}.bg-neutral-900\/85{background-color:#171717d9}.bg-neutral-900\/90{background-color:#171717e6}.bg-neutral-900\/95{background-color:#171717f2}.bg-neutral-950{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity))}.bg-neutral-950\/0{background-color:#0a0a0a00}.bg-neutral-950\/10{background-color:#0a0a0a1a}.bg-neutral-950\/100{background-color:#0a0a0a}.bg-neutral-950\/15{background-color:#0a0a0a26}.bg-neutral-950\/20{background-color:#0a0a0a33}.bg-neutral-950\/25{background-color:#0a0a0a40}.bg-neutral-950\/30{background-color:#0a0a0a4d}.bg-neutral-950\/35{background-color:#0a0a0a59}.bg-neutral-950\/40{background-color:#0a0a0a66}.bg-neutral-950\/45{background-color:#0a0a0a73}.bg-neutral-950\/5{background-color:#0a0a0a0d}.bg-neutral-950\/50{background-color:#0a0a0a80}.bg-neutral-950\/55{background-color:#0a0a0a8c}.bg-neutral-950\/60{background-color:#0a0a0a99}.bg-neutral-950\/65{background-color:#0a0a0aa6}.bg-neutral-950\/70{background-color:#0a0a0ab3}.bg-neutral-950\/75{background-color:#0a0a0abf}.bg-neutral-950\/80{background-color:#0a0a0acc}.bg-neutral-950\/85{background-color:#0a0a0ad9}.bg-neutral-950\/90{background-color:#0a0a0ae6}.bg-neutral-950\/95{background-color:#0a0a0af2}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-4{padding-bottom:1rem;padding-top:1rem}.align-baseline{vertical-align:initial}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.font-bold{font-weight:700}.font-medium{font-weight:500}.leading-10{line-height:2.5rem}.leading-6{line-height:1.5rem}.tracking-tight{letter-spacing:-.025em}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-100\/0{color:#f3f4f600}.text-gray-100\/10{color:#f3f4f61a}.text-gray-100\/100{color:#f3f4f6}.text-gray-100\/15{color:#f3f4f626}.text-gray-100\/20{color:#f3f4f633}.text-gray-100\/25{color:#f3f4f640}.text-gray-100\/30{color:#f3f4f64d}.text-gray-100\/35{color:#f3f4f659}.text-gray-100\/40{color:#f3f4f666}.text-gray-100\/45{color:#f3f4f673}.text-gray-100\/5{color:#f3f4f60d}.text-gray-100\/50{color:#f3f4f680}.text-gray-100\/55{color:#f3f4f68c}.text-gray-100\/60{color:#f3f4f699}.text-gray-100\/65{color:#f3f4f6a6}.text-gray-100\/70{color:#f3f4f6b3}.text-gray-100\/75{color:#f3f4f6bf}.text-gray-100\/80{color:#f3f4f6cc}.text-gray-100\/85{color:#f3f4f6d9}.text-gray-100\/90{color:#f3f4f6e6}.text-gray-100\/95{color:#f3f4f6f2}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-200\/0{color:#e5e7eb00}.text-gray-200\/10{color:#e5e7eb1a}.text-gray-200\/100{color:#e5e7eb}.text-gray-200\/15{color:#e5e7eb26}.text-gray-200\/20{color:#e5e7eb33}.text-gray-200\/25{color:#e5e7eb40}.text-gray-200\/30{color:#e5e7eb4d}.text-gray-200\/35{color:#e5e7eb59}.text-gray-200\/40{color:#e5e7eb66}.text-gray-200\/45{color:#e5e7eb73}.text-gray-200\/5{color:#e5e7eb0d}.text-gray-200\/50{color:#e5e7eb80}.text-gray-200\/55{color:#e5e7eb8c}.text-gray-200\/60{color:#e5e7eb99}.text-gray-200\/65{color:#e5e7eba6}.text-gray-200\/70{color:#e5e7ebb3}.text-gray-200\/75{color:#e5e7ebbf}.text-gray-200\/80{color:#e5e7ebcc}.text-gray-200\/85{color:#e5e7ebd9}.text-gray-200\/90{color:#e5e7ebe6}.text-gray-200\/95{color:#e5e7ebf2}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.text-gray-300\/0{color:#d1d5db00}.text-gray-300\/10{color:#d1d5db1a}.text-gray-300\/100{color:#d1d5db}.text-gray-300\/15{color:#d1d5db26}.text-gray-300\/20{color:#d1d5db33}.text-gray-300\/25{color:#d1d5db40}.text-gray-300\/30{color:#d1d5db4d}.text-gray-300\/35{color:#d1d5db59}.text-gray-300\/40{color:#d1d5db66}.text-gray-300\/45{color:#d1d5db73}.text-gray-300\/5{color:#d1d5db0d}.text-gray-300\/50{color:#d1d5db80}.text-gray-300\/55{color:#d1d5db8c}.text-gray-300\/60{color:#d1d5db99}.text-gray-300\/65{color:#d1d5dba6}.text-gray-300\/70{color:#d1d5dbb3}.text-gray-300\/75{color:#d1d5dbbf}.text-gray-300\/80{color:#d1d5dbcc}.text-gray-300\/85{color:#d1d5dbd9}.text-gray-300\/90{color:#d1d5dbe6}.text-gray-300\/95{color:#d1d5dbf2}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-400\/0{color:#9ca3af00}.text-gray-400\/10{color:#9ca3af1a}.text-gray-400\/100{color:#9ca3af}.text-gray-400\/15{color:#9ca3af26}.text-gray-400\/20{color:#9ca3af33}.text-gray-400\/25{color:#9ca3af40}.text-gray-400\/30{color:#9ca3af4d}.text-gray-400\/35{color:#9ca3af59}.text-gray-400\/40{color:#9ca3af66}.text-gray-400\/45{color:#9ca3af73}.text-gray-400\/5{color:#9ca3af0d}.text-gray-400\/50{color:#9ca3af80}.text-gray-400\/55{color:#9ca3af8c}.text-gray-400\/60{color:#9ca3af99}.text-gray-400\/65{color:#9ca3afa6}.text-gray-400\/70{color:#9ca3afb3}.text-gray-400\/75{color:#9ca3afbf}.text-gray-400\/80{color:#9ca3afcc}.text-gray-400\/85{color:#9ca3afd9}.text-gray-400\/90{color:#9ca3afe6}.text-gray-400\/95{color:#9ca3aff2}.text-gray-50{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}.text-gray-50\/0{color:#f9fafb00}.text-gray-50\/10{color:#f9fafb1a}.text-gray-50\/100{color:#f9fafb}.text-gray-50\/15{color:#f9fafb26}.text-gray-50\/20{color:#f9fafb33}.text-gray-50\/25{color:#f9fafb40}.text-gray-50\/30{color:#f9fafb4d}.text-gray-50\/35{color:#f9fafb59}.text-gray-50\/40{color:#f9fafb66}.text-gray-50\/45{color:#f9fafb73}.text-gray-50\/5{color:#f9fafb0d}.text-gray-50\/50{color:#f9fafb80}.text-gray-50\/55{color:#f9fafb8c}.text-gray-50\/60{color:#f9fafb99}.text-gray-50\/65{color:#f9fafba6}.text-gray-50\/70{color:#f9fafbb3}.text-gray-50\/75{color:#f9fafbbf}.text-gray-50\/80{color:#f9fafbcc}.text-gray-50\/85{color:#f9fafbd9}.text-gray-50\/90{color:#f9fafbe6}.text-gray-50\/95{color:#f9fafbf2}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-500\/0{color:#6b728000}.text-gray-500\/10{color:#6b72801a}.text-gray-500\/100{color:#6b7280}.text-gray-500\/15{color:#6b728026}.text-gray-500\/20{color:#6b728033}.text-gray-500\/25{color:#6b728040}.text-gray-500\/30{color:#6b72804d}.text-gray-500\/35{color:#6b728059}.text-gray-500\/40{color:#6b728066}.text-gray-500\/45{color:#6b728073}.text-gray-500\/5{color:#6b72800d}.text-gray-500\/50{color:#6b728080}.text-gray-500\/55{color:#6b72808c}.text-gray-500\/60{color:#6b728099}.text-gray-500\/65{color:#6b7280a6}.text-gray-500\/70{color:#6b7280b3}.text-gray-500\/75{color:#6b7280bf}.text-gray-500\/80{color:#6b7280cc}.text-gray-500\/85{color:#6b7280d9}.text-gray-500\/90{color:#6b7280e6}.text-gray-500\/95{color:#6b7280f2}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-600\/0{color:#4b556300}.text-gray-600\/10{color:#4b55631a}.text-gray-600\/100{color:#4b5563}.text-gray-600\/15{color:#4b556326}.text-gray-600\/20{color:#4b556333}.text-gray-600\/25{color:#4b556340}.text-gray-600\/30{color:#4b55634d}.text-gray-600\/35{color:#4b556359}.text-gray-600\/40{color:#4b556366}.text-gray-600\/45{color:#4b556373}.text-gray-600\/5{color:#4b55630d}.text-gray-600\/50{color:#4b556380}.text-gray-600\/55{color:#4b55638c}.text-gray-600\/60{color:#4b556399}.text-gray-600\/65{color:#4b5563a6}.text-gray-600\/70{color:#4b5563b3}.text-gray-600\/75{color:#4b5563bf}.text-gray-600\/80{color:#4b5563cc}.text-gray-600\/85{color:#4b5563d9}.text-gray-600\/90{color:#4b5563e6}.text-gray-600\/95{color:#4b5563f2}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-700\/0{color:#37415100}.text-gray-700\/10{color:#3741511a}.text-gray-700\/100{color:#374151}.text-gray-700\/15{color:#37415126}.text-gray-700\/20{color:#37415133}.text-gray-700\/25{color:#37415140}.text-gray-700\/30{color:#3741514d}.text-gray-700\/35{color:#37415159}.text-gray-700\/40{color:#37415166}.text-gray-700\/45{color:#37415173}.text-gray-700\/5{color:#3741510d}.text-gray-700\/50{color:#37415180}.text-gray-700\/55{color:#3741518c}.text-gray-700\/60{color:#37415199}.text-gray-700\/65{color:#374151a6}.text-gray-700\/70{color:#374151b3}.text-gray-700\/75{color:#374151bf}.text-gray-700\/80{color:#374151cc}.text-gray-700\/85{color:#374151d9}.text-gray-700\/90{color:#374151e6}.text-gray-700\/95{color:#374151f2}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-800\/0{color:#1f293700}.text-gray-800\/10{color:#1f29371a}.text-gray-800\/100{color:#1f2937}.text-gray-800\/15{color:#1f293726}.text-gray-800\/20{color:#1f293733}.text-gray-800\/25{color:#1f293740}.text-gray-800\/30{color:#1f29374d}.text-gray-800\/35{color:#1f293759}.text-gray-800\/40{color:#1f293766}.text-gray-800\/45{color:#1f293773}.text-gray-800\/5{color:#1f29370d}.text-gray-800\/50{color:#1f293780}.text-gray-800\/55{color:#1f29378c}.text-gray-800\/60{color:#1f293799}.text-gray-800\/65{color:#1f2937a6}.text-gray-800\/70{color:#1f2937b3}.text-gray-800\/75{color:#1f2937bf}.text-gray-800\/80{color:#1f2937cc}.text-gray-800\/85{color:#1f2937d9}.text-gray-800\/90{color:#1f2937e6}.text-gray-800\/95{color:#1f2937f2}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-gray-900\/0{color:#11182700}.text-gray-900\/10{color:#1118271a}.text-gray-900\/100{color:#111827}.text-gray-900\/15{color:#11182726}.text-gray-900\/20{color:#11182733}.text-gray-900\/25{color:#11182740}.text-gray-900\/30{color:#1118274d}.text-gray-900\/35{color:#11182759}.text-gray-900\/40{color:#11182766}.text-gray-900\/45{color:#11182773}.text-gray-900\/5{color:#1118270d}.text-gray-900\/50{color:#11182780}.text-gray-900\/55{color:#1118278c}.text-gray-900\/60{color:#11182799}.text-gray-900\/65{color:#111827a6}.text-gray-900\/70{color:#111827b3}.text-gray-900\/75{color:#111827bf}.text-gray-900\/80{color:#111827cc}.text-gray-900\/85{color:#111827d9}.text-gray-900\/90{color:#111827e6}.text-gray-900\/95{color:#111827f2}.text-gray-950{--tw-text-opacity:1;color:rgb(3 7 18/var(--tw-text-opacity))}.text-gray-950\/0{color:#03071200}.text-gray-950\/10{color:#0307121a}.text-gray-950\/100{color:#030712}.text-gray-950\/15{color:#03071226}.text-gray-950\/20{color:#03071233}.text-gray-950\/25{color:#03071240}.text-gray-950\/30{color:#0307124d}.text-gray-950\/35{color:#03071259}.text-gray-950\/40{color:#03071266}.text-gray-950\/45{color:#03071273}.text-gray-950\/5{color:#0307120d}.text-gray-950\/50{color:#03071280}.text-gray-950\/55{color:#0307128c}.text-gray-950\/60{color:#03071299}.text-gray-950\/65{color:#030712a6}.text-gray-950\/70{color:#030712b3}.text-gray-950\/75{color:#030712bf}.text-gray-950\/80{color:#030712cc}.text-gray-950\/85{color:#030712d9}.text-gray-950\/90{color:#030712e6}.text-gray-950\/95{color:#030712f2}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-neutral-100{--tw-text-opacity:1;color:rgb(245 245 245/var(--tw-text-opacity))}.text-neutral-100\/0{color:#f5f5f500}.text-neutral-100\/10{color:#f5f5f51a}.text-neutral-100\/100{color:#f5f5f5}.text-neutral-100\/15{color:#f5f5f526}.text-neutral-100\/20{color:#f5f5f533}.text-neutral-100\/25{color:#f5f5f540}.text-neutral-100\/30{color:#f5f5f54d}.text-neutral-100\/35{color:#f5f5f559}.text-neutral-100\/40{color:#f5f5f566}.text-neutral-100\/45{color:#f5f5f573}.text-neutral-100\/5{color:#f5f5f50d}.text-neutral-100\/50{color:#f5f5f580}.text-neutral-100\/55{color:#f5f5f58c}.text-neutral-100\/60{color:#f5f5f599}.text-neutral-100\/65{color:#f5f5f5a6}.text-neutral-100\/70{color:#f5f5f5b3}.text-neutral-100\/75{color:#f5f5f5bf}.text-neutral-100\/80{color:#f5f5f5cc}.text-neutral-100\/85{color:#f5f5f5d9}.text-neutral-100\/90{color:#f5f5f5e6}.text-neutral-100\/95{color:#f5f5f5f2}.text-neutral-200{--tw-text-opacity:1;color:rgb(229 229 229/var(--tw-text-opacity))}.text-neutral-200\/0{color:#e5e5e500}.text-neutral-200\/10{color:#e5e5e51a}.text-neutral-200\/100{color:#e5e5e5}.text-neutral-200\/15{color:#e5e5e526}.text-neutral-200\/20{color:#e5e5e533}.text-neutral-200\/25{color:#e5e5e540}.text-neutral-200\/30{color:#e5e5e54d}.text-neutral-200\/35{color:#e5e5e559}.text-neutral-200\/40{color:#e5e5e566}.text-neutral-200\/45{color:#e5e5e573}.text-neutral-200\/5{color:#e5e5e50d}.text-neutral-200\/50{color:#e5e5e580}.text-neutral-200\/55{color:#e5e5e58c}.text-neutral-200\/60{color:#e5e5e599}.text-neutral-200\/65{color:#e5e5e5a6}.text-neutral-200\/70{color:#e5e5e5b3}.text-neutral-200\/75{color:#e5e5e5bf}.text-neutral-200\/80{color:#e5e5e5cc}.text-neutral-200\/85{color:#e5e5e5d9}.text-neutral-200\/90{color:#e5e5e5e6}.text-neutral-200\/95{color:#e5e5e5f2}.text-neutral-300{--tw-text-opacity:1;color:rgb(212 212 212/var(--tw-text-opacity))}.text-neutral-300\/0{color:#d4d4d400}.text-neutral-300\/10{color:#d4d4d41a}.text-neutral-300\/100{color:#d4d4d4}.text-neutral-300\/15{color:#d4d4d426}.text-neutral-300\/20{color:#d4d4d433}.text-neutral-300\/25{color:#d4d4d440}.text-neutral-300\/30{color:#d4d4d44d}.text-neutral-300\/35{color:#d4d4d459}.text-neutral-300\/40{color:#d4d4d466}.text-neutral-300\/45{color:#d4d4d473}.text-neutral-300\/5{color:#d4d4d40d}.text-neutral-300\/50{color:#d4d4d480}.text-neutral-300\/55{color:#d4d4d48c}.text-neutral-300\/60{color:#d4d4d499}.text-neutral-300\/65{color:#d4d4d4a6}.text-neutral-300\/70{color:#d4d4d4b3}.text-neutral-300\/75{color:#d4d4d4bf}.text-neutral-300\/80{color:#d4d4d4cc}.text-neutral-300\/85{color:#d4d4d4d9}.text-neutral-300\/90{color:#d4d4d4e6}.text-neutral-300\/95{color:#d4d4d4f2}.text-neutral-400{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity))}.text-neutral-400\/0{color:#a3a3a300}.text-neutral-400\/10{color:#a3a3a31a}.text-neutral-400\/100{color:#a3a3a3}.text-neutral-400\/15{color:#a3a3a326}.text-neutral-400\/20{color:#a3a3a333}.text-neutral-400\/25{color:#a3a3a340}.text-neutral-400\/30{color:#a3a3a34d}.text-neutral-400\/35{color:#a3a3a359}.text-neutral-400\/40{color:#a3a3a366}.text-neutral-400\/45{color:#a3a3a373}.text-neutral-400\/5{color:#a3a3a30d}.text-neutral-400\/50{color:#a3a3a380}.text-neutral-400\/55{color:#a3a3a38c}.text-neutral-400\/60{color:#a3a3a399}.text-neutral-400\/65{color:#a3a3a3a6}.text-neutral-400\/70{color:#a3a3a3b3}.text-neutral-400\/75{color:#a3a3a3bf}.text-neutral-400\/80{color:#a3a3a3cc}.text-neutral-400\/85{color:#a3a3a3d9}.text-neutral-400\/90{color:#a3a3a3e6}.text-neutral-400\/95{color:#a3a3a3f2}.text-neutral-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity))}.text-neutral-50\/0{color:#fafafa00}.text-neutral-50\/10{color:#fafafa1a}.text-neutral-50\/100{color:#fafafa}.text-neutral-50\/15{color:#fafafa26}.text-neutral-50\/20{color:#fafafa33}.text-neutral-50\/25{color:#fafafa40}.text-neutral-50\/30{color:#fafafa4d}.text-neutral-50\/35{color:#fafafa59}.text-neutral-50\/40{color:#fafafa66}.text-neutral-50\/45{color:#fafafa73}.text-neutral-50\/5{color:#fafafa0d}.text-neutral-50\/50{color:#fafafa80}.text-neutral-50\/55{color:#fafafa8c}.text-neutral-50\/60{color:#fafafa99}.text-neutral-50\/65{color:#fafafaa6}.text-neutral-50\/70{color:#fafafab3}.text-neutral-50\/75{color:#fafafabf}.text-neutral-50\/80{color:#fafafacc}.text-neutral-50\/85{color:#fafafad9}.text-neutral-50\/90{color:#fafafae6}.text-neutral-50\/95{color:#fafafaf2}.text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity))}.text-neutral-500\/0{color:#73737300}.text-neutral-500\/10{color:#7373731a}.text-neutral-500\/100{color:#737373}.text-neutral-500\/15{color:#73737326}.text-neutral-500\/20{color:#73737333}.text-neutral-500\/25{color:#73737340}.text-neutral-500\/30{color:#7373734d}.text-neutral-500\/35{color:#73737359}.text-neutral-500\/40{color:#73737366}.text-neutral-500\/45{color:#73737373}.text-neutral-500\/5{color:#7373730d}.text-neutral-500\/50{color:#73737380}.text-neutral-500\/55{color:#7373738c}.text-neutral-500\/60{color:#73737399}.text-neutral-500\/65{color:#737373a6}.text-neutral-500\/70{color:#737373b3}.text-neutral-500\/75{color:#737373bf}.text-neutral-500\/80{color:#737373cc}.text-neutral-500\/85{color:#737373d9}.text-neutral-500\/90{color:#737373e6}.text-neutral-500\/95{color:#737373f2}.text-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity))}.text-neutral-600\/0{color:#52525200}.text-neutral-600\/10{color:#5252521a}.text-neutral-600\/100{color:#525252}.text-neutral-600\/15{color:#52525226}.text-neutral-600\/20{color:#52525233}.text-neutral-600\/25{color:#52525240}.text-neutral-600\/30{color:#5252524d}.text-neutral-600\/35{color:#52525259}.text-neutral-600\/40{color:#52525266}.text-neutral-600\/45{color:#52525273}.text-neutral-600\/5{color:#5252520d}.text-neutral-600\/50{color:#52525280}.text-neutral-600\/55{color:#5252528c}.text-neutral-600\/60{color:#52525299}.text-neutral-600\/65{color:#525252a6}.text-neutral-600\/70{color:#525252b3}.text-neutral-600\/75{color:#525252bf}.text-neutral-600\/80{color:#525252cc}.text-neutral-600\/85{color:#525252d9}.text-neutral-600\/90{color:#525252e6}.text-neutral-600\/95{color:#525252f2}.text-neutral-700{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity))}.text-neutral-700\/0{color:#40404000}.text-neutral-700\/10{color:#4040401a}.text-neutral-700\/100{color:#404040}.text-neutral-700\/15{color:#40404026}.text-neutral-700\/20{color:#40404033}.text-neutral-700\/25{color:#40404040}.text-neutral-700\/30{color:#4040404d}.text-neutral-700\/35{color:#40404059}.text-neutral-700\/40{color:#40404066}.text-neutral-700\/45{color:#40404073}.text-neutral-700\/5{color:#4040400d}.text-neutral-700\/50{color:#40404080}.text-neutral-700\/55{color:#4040408c}.text-neutral-700\/60{color:#40404099}.text-neutral-700\/65{color:#404040a6}.text-neutral-700\/70{color:#404040b3}.text-neutral-700\/75{color:#404040bf}.text-neutral-700\/80{color:#404040cc}.text-neutral-700\/85{color:#404040d9}.text-neutral-700\/90{color:#404040e6}.text-neutral-700\/95{color:#404040f2}.text-neutral-800{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity))}.text-neutral-800\/0{color:#26262600}.text-neutral-800\/10{color:#2626261a}.text-neutral-800\/100{color:#262626}.text-neutral-800\/15{color:#26262626}.text-neutral-800\/20{color:#26262633}.text-neutral-800\/25{color:#26262640}.text-neutral-800\/30{color:#2626264d}.text-neutral-800\/35{color:#26262659}.text-neutral-800\/40{color:#26262666}.text-neutral-800\/45{color:#26262673}.text-neutral-800\/5{color:#2626260d}.text-neutral-800\/50{color:#26262680}.text-neutral-800\/55{color:#2626268c}.text-neutral-800\/60{color:#26262699}.text-neutral-800\/65{color:#262626a6}.text-neutral-800\/70{color:#262626b3}.text-neutral-800\/75{color:#262626bf}.text-neutral-800\/80{color:#262626cc}.text-neutral-800\/85{color:#262626d9}.text-neutral-800\/90{color:#262626e6}.text-neutral-800\/95{color:#262626f2}.text-neutral-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity))}.text-neutral-900\/0{color:#17171700}.text-neutral-900\/10{color:#1717171a}.text-neutral-900\/100{color:#171717}.text-neutral-900\/15{color:#17171726}.text-neutral-900\/20{color:#17171733}.text-neutral-900\/25{color:#17171740}.text-neutral-900\/30{color:#1717174d}.text-neutral-900\/35{color:#17171759}.text-neutral-900\/40{color:#17171766}.text-neutral-900\/45{color:#17171773}.text-neutral-900\/5{color:#1717170d}.text-neutral-900\/50{color:#17171780}.text-neutral-900\/55{color:#1717178c}.text-neutral-900\/60{color:#17171799}.text-neutral-900\/65{color:#171717a6}.text-neutral-900\/70{color:#171717b3}.text-neutral-900\/75{color:#171717bf}.text-neutral-900\/80{color:#171717cc}.text-neutral-900\/85{color:#171717d9}.text-neutral-900\/90{color:#171717e6}.text-neutral-900\/95{color:#171717f2}.text-neutral-950{--tw-text-opacity:1;color:rgb(10 10 10/var(--tw-text-opacity))}.text-neutral-950\/0{color:#0a0a0a00}.text-neutral-950\/10{color:#0a0a0a1a}.text-neutral-950\/100{color:#0a0a0a}.text-neutral-950\/15{color:#0a0a0a26}.text-neutral-950\/20{color:#0a0a0a33}.text-neutral-950\/25{color:#0a0a0a40}.text-neutral-950\/30{color:#0a0a0a4d}.text-neutral-950\/35{color:#0a0a0a59}.text-neutral-950\/40{color:#0a0a0a66}.text-neutral-950\/45{color:#0a0a0a73}.text-neutral-950\/5{color:#0a0a0a0d}.text-neutral-950\/50{color:#0a0a0a80}.text-neutral-950\/55{color:#0a0a0a8c}.text-neutral-950\/60{color:#0a0a0a99}.text-neutral-950\/65{color:#0a0a0aa6}.text-neutral-950\/70{color:#0a0a0ab3}.text-neutral-950\/75{color:#0a0a0abf}.text-neutral-950\/80{color:#0a0a0acc}.text-neutral-950\/85{color:#0a0a0ad9}.text-neutral-950\/90{color:#0a0a0ae6}.text-neutral-950\/95{color:#0a0a0af2}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\*\:relative>*{position:relative}.\*\:flex>*{display:flex}.\*\:items-center>*{align-items:center}.\*\:gap-3>*{gap:.75rem}.\*\:px-6>*{padding-left:1.5rem;padding-right:1.5rem}.\*\:py-4>*{padding-bottom:1rem;padding-top:1rem}@keyframes spin{to{transform:rotate(1turn)}}.group:disabled .group-disabled\:animate-spin{animation:spin 1s linear infinite}@media (min-width:640px){.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:text-6xl{font-size:3.75rem;line-height:1}}@media (min-width:1280px){.xl\:px-8{padding-left:2rem;padding-right:2rem}}@media (prefers-color-scheme:dark){.dark\:divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.dark\:divide-gray-100\/0>:not([hidden])~:not([hidden]){border-color:#f3f4f600}.dark\:divide-gray-100\/10>:not([hidden])~:not([hidden]){border-color:#f3f4f61a}.dark\:divide-gray-100\/100>:not([hidden])~:not([hidden]){border-color:#f3f4f6}.dark\:divide-gray-100\/15>:not([hidden])~:not([hidden]){border-color:#f3f4f626}.dark\:divide-gray-100\/20>:not([hidden])~:not([hidden]){border-color:#f3f4f633}.dark\:divide-gray-100\/25>:not([hidden])~:not([hidden]){border-color:#f3f4f640}.dark\:divide-gray-100\/30>:not([hidden])~:not([hidden]){border-color:#f3f4f64d}.dark\:divide-gray-100\/35>:not([hidden])~:not([hidden]){border-color:#f3f4f659}.dark\:divide-gray-100\/40>:not([hidden])~:not([hidden]){border-color:#f3f4f666}.dark\:divide-gray-100\/45>:not([hidden])~:not([hidden]){border-color:#f3f4f673}.dark\:divide-gray-100\/5>:not([hidden])~:not([hidden]){border-color:#f3f4f60d}.dark\:divide-gray-100\/50>:not([hidden])~:not([hidden]){border-color:#f3f4f680}.dark\:divide-gray-100\/55>:not([hidden])~:not([hidden]){border-color:#f3f4f68c}.dark\:divide-gray-100\/60>:not([hidden])~:not([hidden]){border-color:#f3f4f699}.dark\:divide-gray-100\/65>:not([hidden])~:not([hidden]){border-color:#f3f4f6a6}.dark\:divide-gray-100\/70>:not([hidden])~:not([hidden]){border-color:#f3f4f6b3}.dark\:divide-gray-100\/75>:not([hidden])~:not([hidden]){border-color:#f3f4f6bf}.dark\:divide-gray-100\/80>:not([hidden])~:not([hidden]){border-color:#f3f4f6cc}.dark\:divide-gray-100\/85>:not([hidden])~:not([hidden]){border-color:#f3f4f6d9}.dark\:divide-gray-100\/90>:not([hidden])~:not([hidden]){border-color:#f3f4f6e6}.dark\:divide-gray-100\/95>:not([hidden])~:not([hidden]){border-color:#f3f4f6f2}.dark\:divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.dark\:divide-gray-200\/0>:not([hidden])~:not([hidden]){border-color:#e5e7eb00}.dark\:divide-gray-200\/10>:not([hidden])~:not([hidden]){border-color:#e5e7eb1a}.dark\:divide-gray-200\/100>:not([hidden])~:not([hidden]){border-color:#e5e7eb}.dark\:divide-gray-200\/15>:not([hidden])~:not([hidden]){border-color:#e5e7eb26}.dark\:divide-gray-200\/20>:not([hidden])~:not([hidden]){border-color:#e5e7eb33}.dark\:divide-gray-200\/25>:not([hidden])~:not([hidden]){border-color:#e5e7eb40}.dark\:divide-gray-200\/30>:not([hidden])~:not([hidden]){border-color:#e5e7eb4d}.dark\:divide-gray-200\/35>:not([hidden])~:not([hidden]){border-color:#e5e7eb59}.dark\:divide-gray-200\/40>:not([hidden])~:not([hidden]){border-color:#e5e7eb66}.dark\:divide-gray-200\/45>:not([hidden])~:not([hidden]){border-color:#e5e7eb73}.dark\:divide-gray-200\/5>:not([hidden])~:not([hidden]){border-color:#e5e7eb0d}.dark\:divide-gray-200\/50>:not([hidden])~:not([hidden]){border-color:#e5e7eb80}.dark\:divide-gray-200\/55>:not([hidden])~:not([hidden]){border-color:#e5e7eb8c}.dark\:divide-gray-200\/60>:not([hidden])~:not([hidden]){border-color:#e5e7eb99}.dark\:divide-gray-200\/65>:not([hidden])~:not([hidden]){border-color:#e5e7eba6}.dark\:divide-gray-200\/70>:not([hidden])~:not([hidden]){border-color:#e5e7ebb3}.dark\:divide-gray-200\/75>:not([hidden])~:not([hidden]){border-color:#e5e7ebbf}.dark\:divide-gray-200\/80>:not([hidden])~:not([hidden]){border-color:#e5e7ebcc}.dark\:divide-gray-200\/85>:not([hidden])~:not([hidden]){border-color:#e5e7ebd9}.dark\:divide-gray-200\/90>:not([hidden])~:not([hidden]){border-color:#e5e7ebe6}.dark\:divide-gray-200\/95>:not([hidden])~:not([hidden]){border-color:#e5e7ebf2}.dark\:divide-gray-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(209 213 219/var(--tw-divide-opacity))}.dark\:divide-gray-300\/0>:not([hidden])~:not([hidden]){border-color:#d1d5db00}.dark\:divide-gray-300\/10>:not([hidden])~:not([hidden]){border-color:#d1d5db1a}.dark\:divide-gray-300\/100>:not([hidden])~:not([hidden]){border-color:#d1d5db}.dark\:divide-gray-300\/15>:not([hidden])~:not([hidden]){border-color:#d1d5db26}.dark\:divide-gray-300\/20>:not([hidden])~:not([hidden]){border-color:#d1d5db33}.dark\:divide-gray-300\/25>:not([hidden])~:not([hidden]){border-color:#d1d5db40}.dark\:divide-gray-300\/30>:not([hidden])~:not([hidden]){border-color:#d1d5db4d}.dark\:divide-gray-300\/35>:not([hidden])~:not([hidden]){border-color:#d1d5db59}.dark\:divide-gray-300\/40>:not([hidden])~:not([hidden]){border-color:#d1d5db66}.dark\:divide-gray-300\/45>:not([hidden])~:not([hidden]){border-color:#d1d5db73}.dark\:divide-gray-300\/5>:not([hidden])~:not([hidden]){border-color:#d1d5db0d}.dark\:divide-gray-300\/50>:not([hidden])~:not([hidden]){border-color:#d1d5db80}.dark\:divide-gray-300\/55>:not([hidden])~:not([hidden]){border-color:#d1d5db8c}.dark\:divide-gray-300\/60>:not([hidden])~:not([hidden]){border-color:#d1d5db99}.dark\:divide-gray-300\/65>:not([hidden])~:not([hidden]){border-color:#d1d5dba6}.dark\:divide-gray-300\/70>:not([hidden])~:not([hidden]){border-color:#d1d5dbb3}.dark\:divide-gray-300\/75>:not([hidden])~:not([hidden]){border-color:#d1d5dbbf}.dark\:divide-gray-300\/80>:not([hidden])~:not([hidden]){border-color:#d1d5dbcc}.dark\:divide-gray-300\/85>:not([hidden])~:not([hidden]){border-color:#d1d5dbd9}.dark\:divide-gray-300\/90>:not([hidden])~:not([hidden]){border-color:#d1d5dbe6}.dark\:divide-gray-300\/95>:not([hidden])~:not([hidden]){border-color:#d1d5dbf2}.dark\:divide-gray-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(156 163 175/var(--tw-divide-opacity))}.dark\:divide-gray-400\/0>:not([hidden])~:not([hidden]){border-color:#9ca3af00}.dark\:divide-gray-400\/10>:not([hidden])~:not([hidden]){border-color:#9ca3af1a}.dark\:divide-gray-400\/100>:not([hidden])~:not([hidden]){border-color:#9ca3af}.dark\:divide-gray-400\/15>:not([hidden])~:not([hidden]){border-color:#9ca3af26}.dark\:divide-gray-400\/20>:not([hidden])~:not([hidden]){border-color:#9ca3af33}.dark\:divide-gray-400\/25>:not([hidden])~:not([hidden]){border-color:#9ca3af40}.dark\:divide-gray-400\/30>:not([hidden])~:not([hidden]){border-color:#9ca3af4d}.dark\:divide-gray-400\/35>:not([hidden])~:not([hidden]){border-color:#9ca3af59}.dark\:divide-gray-400\/40>:not([hidden])~:not([hidden]){border-color:#9ca3af66}.dark\:divide-gray-400\/45>:not([hidden])~:not([hidden]){border-color:#9ca3af73}.dark\:divide-gray-400\/5>:not([hidden])~:not([hidden]){border-color:#9ca3af0d}.dark\:divide-gray-400\/50>:not([hidden])~:not([hidden]){border-color:#9ca3af80}.dark\:divide-gray-400\/55>:not([hidden])~:not([hidden]){border-color:#9ca3af8c}.dark\:divide-gray-400\/60>:not([hidden])~:not([hidden]){border-color:#9ca3af99}.dark\:divide-gray-400\/65>:not([hidden])~:not([hidden]){border-color:#9ca3afa6}.dark\:divide-gray-400\/70>:not([hidden])~:not([hidden]){border-color:#9ca3afb3}.dark\:divide-gray-400\/75>:not([hidden])~:not([hidden]){border-color:#9ca3afbf}.dark\:divide-gray-400\/80>:not([hidden])~:not([hidden]){border-color:#9ca3afcc}.dark\:divide-gray-400\/85>:not([hidden])~:not([hidden]){border-color:#9ca3afd9}.dark\:divide-gray-400\/90>:not([hidden])~:not([hidden]){border-color:#9ca3afe6}.dark\:divide-gray-400\/95>:not([hidden])~:not([hidden]){border-color:#9ca3aff2}.dark\:divide-gray-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(249 250 251/var(--tw-divide-opacity))}.dark\:divide-gray-50\/0>:not([hidden])~:not([hidden]){border-color:#f9fafb00}.dark\:divide-gray-50\/10>:not([hidden])~:not([hidden]){border-color:#f9fafb1a}.dark\:divide-gray-50\/100>:not([hidden])~:not([hidden]){border-color:#f9fafb}.dark\:divide-gray-50\/15>:not([hidden])~:not([hidden]){border-color:#f9fafb26}.dark\:divide-gray-50\/20>:not([hidden])~:not([hidden]){border-color:#f9fafb33}.dark\:divide-gray-50\/25>:not([hidden])~:not([hidden]){border-color:#f9fafb40}.dark\:divide-gray-50\/30>:not([hidden])~:not([hidden]){border-color:#f9fafb4d}.dark\:divide-gray-50\/35>:not([hidden])~:not([hidden]){border-color:#f9fafb59}.dark\:divide-gray-50\/40>:not([hidden])~:not([hidden]){border-color:#f9fafb66}.dark\:divide-gray-50\/45>:not([hidden])~:not([hidden]){border-color:#f9fafb73}.dark\:divide-gray-50\/5>:not([hidden])~:not([hidden]){border-color:#f9fafb0d}.dark\:divide-gray-50\/50>:not([hidden])~:not([hidden]){border-color:#f9fafb80}.dark\:divide-gray-50\/55>:not([hidden])~:not([hidden]){border-color:#f9fafb8c}.dark\:divide-gray-50\/60>:not([hidden])~:not([hidden]){border-color:#f9fafb99}.dark\:divide-gray-50\/65>:not([hidden])~:not([hidden]){border-color:#f9fafba6}.dark\:divide-gray-50\/70>:not([hidden])~:not([hidden]){border-color:#f9fafbb3}.dark\:divide-gray-50\/75>:not([hidden])~:not([hidden]){border-color:#f9fafbbf}.dark\:divide-gray-50\/80>:not([hidden])~:not([hidden]){border-color:#f9fafbcc}.dark\:divide-gray-50\/85>:not([hidden])~:not([hidden]){border-color:#f9fafbd9}.dark\:divide-gray-50\/90>:not([hidden])~:not([hidden]){border-color:#f9fafbe6}.dark\:divide-gray-50\/95>:not([hidden])~:not([hidden]){border-color:#f9fafbf2}.dark\:divide-gray-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(107 114 128/var(--tw-divide-opacity))}.dark\:divide-gray-500\/0>:not([hidden])~:not([hidden]){border-color:#6b728000}.dark\:divide-gray-500\/10>:not([hidden])~:not([hidden]){border-color:#6b72801a}.dark\:divide-gray-500\/100>:not([hidden])~:not([hidden]){border-color:#6b7280}.dark\:divide-gray-500\/15>:not([hidden])~:not([hidden]){border-color:#6b728026}.dark\:divide-gray-500\/20>:not([hidden])~:not([hidden]){border-color:#6b728033}.dark\:divide-gray-500\/25>:not([hidden])~:not([hidden]){border-color:#6b728040}.dark\:divide-gray-500\/30>:not([hidden])~:not([hidden]){border-color:#6b72804d}.dark\:divide-gray-500\/35>:not([hidden])~:not([hidden]){border-color:#6b728059}.dark\:divide-gray-500\/40>:not([hidden])~:not([hidden]){border-color:#6b728066}.dark\:divide-gray-500\/45>:not([hidden])~:not([hidden]){border-color:#6b728073}.dark\:divide-gray-500\/5>:not([hidden])~:not([hidden]){border-color:#6b72800d}.dark\:divide-gray-500\/50>:not([hidden])~:not([hidden]){border-color:#6b728080}.dark\:divide-gray-500\/55>:not([hidden])~:not([hidden]){border-color:#6b72808c}.dark\:divide-gray-500\/60>:not([hidden])~:not([hidden]){border-color:#6b728099}.dark\:divide-gray-500\/65>:not([hidden])~:not([hidden]){border-color:#6b7280a6}.dark\:divide-gray-500\/70>:not([hidden])~:not([hidden]){border-color:#6b7280b3}.dark\:divide-gray-500\/75>:not([hidden])~:not([hidden]){border-color:#6b7280bf}.dark\:divide-gray-500\/80>:not([hidden])~:not([hidden]){border-color:#6b7280cc}.dark\:divide-gray-500\/85>:not([hidden])~:not([hidden]){border-color:#6b7280d9}.dark\:divide-gray-500\/90>:not([hidden])~:not([hidden]){border-color:#6b7280e6}.dark\:divide-gray-500\/95>:not([hidden])~:not([hidden]){border-color:#6b7280f2}.dark\:divide-gray-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}.dark\:divide-gray-600\/0>:not([hidden])~:not([hidden]){border-color:#4b556300}.dark\:divide-gray-600\/10>:not([hidden])~:not([hidden]){border-color:#4b55631a}.dark\:divide-gray-600\/100>:not([hidden])~:not([hidden]){border-color:#4b5563}.dark\:divide-gray-600\/15>:not([hidden])~:not([hidden]){border-color:#4b556326}.dark\:divide-gray-600\/20>:not([hidden])~:not([hidden]){border-color:#4b556333}.dark\:divide-gray-600\/25>:not([hidden])~:not([hidden]){border-color:#4b556340}.dark\:divide-gray-600\/30>:not([hidden])~:not([hidden]){border-color:#4b55634d}.dark\:divide-gray-600\/35>:not([hidden])~:not([hidden]){border-color:#4b556359}.dark\:divide-gray-600\/40>:not([hidden])~:not([hidden]){border-color:#4b556366}.dark\:divide-gray-600\/45>:not([hidden])~:not([hidden]){border-color:#4b556373}.dark\:divide-gray-600\/5>:not([hidden])~:not([hidden]){border-color:#4b55630d}.dark\:divide-gray-600\/50>:not([hidden])~:not([hidden]){border-color:#4b556380}.dark\:divide-gray-600\/55>:not([hidden])~:not([hidden]){border-color:#4b55638c}.dark\:divide-gray-600\/60>:not([hidden])~:not([hidden]){border-color:#4b556399}.dark\:divide-gray-600\/65>:not([hidden])~:not([hidden]){border-color:#4b5563a6}.dark\:divide-gray-600\/70>:not([hidden])~:not([hidden]){border-color:#4b5563b3}.dark\:divide-gray-600\/75>:not([hidden])~:not([hidden]){border-color:#4b5563bf}.dark\:divide-gray-600\/80>:not([hidden])~:not([hidden]){border-color:#4b5563cc}.dark\:divide-gray-600\/85>:not([hidden])~:not([hidden]){border-color:#4b5563d9}.dark\:divide-gray-600\/90>:not([hidden])~:not([hidden]){border-color:#4b5563e6}.dark\:divide-gray-600\/95>:not([hidden])~:not([hidden]){border-color:#4b5563f2}.dark\:divide-gray-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(55 65 81/var(--tw-divide-opacity))}.dark\:divide-gray-700\/0>:not([hidden])~:not([hidden]){border-color:#37415100}.dark\:divide-gray-700\/10>:not([hidden])~:not([hidden]){border-color:#3741511a}.dark\:divide-gray-700\/100>:not([hidden])~:not([hidden]){border-color:#374151}.dark\:divide-gray-700\/15>:not([hidden])~:not([hidden]){border-color:#37415126}.dark\:divide-gray-700\/20>:not([hidden])~:not([hidden]){border-color:#37415133}.dark\:divide-gray-700\/25>:not([hidden])~:not([hidden]){border-color:#37415140}.dark\:divide-gray-700\/30>:not([hidden])~:not([hidden]){border-color:#3741514d}.dark\:divide-gray-700\/35>:not([hidden])~:not([hidden]){border-color:#37415159}.dark\:divide-gray-700\/40>:not([hidden])~:not([hidden]){border-color:#37415166}.dark\:divide-gray-700\/45>:not([hidden])~:not([hidden]){border-color:#37415173}.dark\:divide-gray-700\/5>:not([hidden])~:not([hidden]){border-color:#3741510d}.dark\:divide-gray-700\/50>:not([hidden])~:not([hidden]){border-color:#37415180}.dark\:divide-gray-700\/55>:not([hidden])~:not([hidden]){border-color:#3741518c}.dark\:divide-gray-700\/60>:not([hidden])~:not([hidden]){border-color:#37415199}.dark\:divide-gray-700\/65>:not([hidden])~:not([hidden]){border-color:#374151a6}.dark\:divide-gray-700\/70>:not([hidden])~:not([hidden]){border-color:#374151b3}.dark\:divide-gray-700\/75>:not([hidden])~:not([hidden]){border-color:#374151bf}.dark\:divide-gray-700\/80>:not([hidden])~:not([hidden]){border-color:#374151cc}.dark\:divide-gray-700\/85>:not([hidden])~:not([hidden]){border-color:#374151d9}.dark\:divide-gray-700\/90>:not([hidden])~:not([hidden]){border-color:#374151e6}.dark\:divide-gray-700\/95>:not([hidden])~:not([hidden]){border-color:#374151f2}.dark\:divide-gray-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(31 41 55/var(--tw-divide-opacity))}.dark\:divide-gray-800\/0>:not([hidden])~:not([hidden]){border-color:#1f293700}.dark\:divide-gray-800\/10>:not([hidden])~:not([hidden]){border-color:#1f29371a}.dark\:divide-gray-800\/100>:not([hidden])~:not([hidden]){border-color:#1f2937}.dark\:divide-gray-800\/15>:not([hidden])~:not([hidden]){border-color:#1f293726}.dark\:divide-gray-800\/20>:not([hidden])~:not([hidden]){border-color:#1f293733}.dark\:divide-gray-800\/25>:not([hidden])~:not([hidden]){border-color:#1f293740}.dark\:divide-gray-800\/30>:not([hidden])~:not([hidden]){border-color:#1f29374d}.dark\:divide-gray-800\/35>:not([hidden])~:not([hidden]){border-color:#1f293759}.dark\:divide-gray-800\/40>:not([hidden])~:not([hidden]){border-color:#1f293766}.dark\:divide-gray-800\/45>:not([hidden])~:not([hidden]){border-color:#1f293773}.dark\:divide-gray-800\/5>:not([hidden])~:not([hidden]){border-color:#1f29370d}.dark\:divide-gray-800\/50>:not([hidden])~:not([hidden]){border-color:#1f293780}.dark\:divide-gray-800\/55>:not([hidden])~:not([hidden]){border-color:#1f29378c}.dark\:divide-gray-800\/60>:not([hidden])~:not([hidden]){border-color:#1f293799}.dark\:divide-gray-800\/65>:not([hidden])~:not([hidden]){border-color:#1f2937a6}.dark\:divide-gray-800\/70>:not([hidden])~:not([hidden]){border-color:#1f2937b3}.dark\:divide-gray-800\/75>:not([hidden])~:not([hidden]){border-color:#1f2937bf}.dark\:divide-gray-800\/80>:not([hidden])~:not([hidden]){border-color:#1f2937cc}.dark\:divide-gray-800\/85>:not([hidden])~:not([hidden]){border-color:#1f2937d9}.dark\:divide-gray-800\/90>:not([hidden])~:not([hidden]){border-color:#1f2937e6}.dark\:divide-gray-800\/95>:not([hidden])~:not([hidden]){border-color:#1f2937f2}.dark\:divide-gray-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(17 24 39/var(--tw-divide-opacity))}.dark\:divide-gray-900\/0>:not([hidden])~:not([hidden]){border-color:#11182700}.dark\:divide-gray-900\/10>:not([hidden])~:not([hidden]){border-color:#1118271a}.dark\:divide-gray-900\/100>:not([hidden])~:not([hidden]){border-color:#111827}.dark\:divide-gray-900\/15>:not([hidden])~:not([hidden]){border-color:#11182726}.dark\:divide-gray-900\/20>:not([hidden])~:not([hidden]){border-color:#11182733}.dark\:divide-gray-900\/25>:not([hidden])~:not([hidden]){border-color:#11182740}.dark\:divide-gray-900\/30>:not([hidden])~:not([hidden]){border-color:#1118274d}.dark\:divide-gray-900\/35>:not([hidden])~:not([hidden]){border-color:#11182759}.dark\:divide-gray-900\/40>:not([hidden])~:not([hidden]){border-color:#11182766}.dark\:divide-gray-900\/45>:not([hidden])~:not([hidden]){border-color:#11182773}.dark\:divide-gray-900\/5>:not([hidden])~:not([hidden]){border-color:#1118270d}.dark\:divide-gray-900\/50>:not([hidden])~:not([hidden]){border-color:#11182780}.dark\:divide-gray-900\/55>:not([hidden])~:not([hidden]){border-color:#1118278c}.dark\:divide-gray-900\/60>:not([hidden])~:not([hidden]){border-color:#11182799}.dark\:divide-gray-900\/65>:not([hidden])~:not([hidden]){border-color:#111827a6}.dark\:divide-gray-900\/70>:not([hidden])~:not([hidden]){border-color:#111827b3}.dark\:divide-gray-900\/75>:not([hidden])~:not([hidden]){border-color:#111827bf}.dark\:divide-gray-900\/80>:not([hidden])~:not([hidden]){border-color:#111827cc}.dark\:divide-gray-900\/85>:not([hidden])~:not([hidden]){border-color:#111827d9}.dark\:divide-gray-900\/90>:not([hidden])~:not([hidden]){border-color:#111827e6}.dark\:divide-gray-900\/95>:not([hidden])~:not([hidden]){border-color:#111827f2}.dark\:divide-gray-950>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(3 7 18/var(--tw-divide-opacity))}.dark\:divide-gray-950\/0>:not([hidden])~:not([hidden]){border-color:#03071200}.dark\:divide-gray-950\/10>:not([hidden])~:not([hidden]){border-color:#0307121a}.dark\:divide-gray-950\/100>:not([hidden])~:not([hidden]){border-color:#030712}.dark\:divide-gray-950\/15>:not([hidden])~:not([hidden]){border-color:#03071226}.dark\:divide-gray-950\/20>:not([hidden])~:not([hidden]){border-color:#03071233}.dark\:divide-gray-950\/25>:not([hidden])~:not([hidden]){border-color:#03071240}.dark\:divide-gray-950\/30>:not([hidden])~:not([hidden]){border-color:#0307124d}.dark\:divide-gray-950\/35>:not([hidden])~:not([hidden]){border-color:#03071259}.dark\:divide-gray-950\/40>:not([hidden])~:not([hidden]){border-color:#03071266}.dark\:divide-gray-950\/45>:not([hidden])~:not([hidden]){border-color:#03071273}.dark\:divide-gray-950\/5>:not([hidden])~:not([hidden]){border-color:#0307120d}.dark\:divide-gray-950\/50>:not([hidden])~:not([hidden]){border-color:#03071280}.dark\:divide-gray-950\/55>:not([hidden])~:not([hidden]){border-color:#0307128c}.dark\:divide-gray-950\/60>:not([hidden])~:not([hidden]){border-color:#03071299}.dark\:divide-gray-950\/65>:not([hidden])~:not([hidden]){border-color:#030712a6}.dark\:divide-gray-950\/70>:not([hidden])~:not([hidden]){border-color:#030712b3}.dark\:divide-gray-950\/75>:not([hidden])~:not([hidden]){border-color:#030712bf}.dark\:divide-gray-950\/80>:not([hidden])~:not([hidden]){border-color:#030712cc}.dark\:divide-gray-950\/85>:not([hidden])~:not([hidden]){border-color:#030712d9}.dark\:divide-gray-950\/90>:not([hidden])~:not([hidden]){border-color:#030712e6}.dark\:divide-gray-950\/95>:not([hidden])~:not([hidden]){border-color:#030712f2}.dark\:divide-neutral-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(245 245 245/var(--tw-divide-opacity))}.dark\:divide-neutral-100\/0>:not([hidden])~:not([hidden]){border-color:#f5f5f500}.dark\:divide-neutral-100\/10>:not([hidden])~:not([hidden]){border-color:#f5f5f51a}.dark\:divide-neutral-100\/100>:not([hidden])~:not([hidden]){border-color:#f5f5f5}.dark\:divide-neutral-100\/15>:not([hidden])~:not([hidden]){border-color:#f5f5f526}.dark\:divide-neutral-100\/20>:not([hidden])~:not([hidden]){border-color:#f5f5f533}.dark\:divide-neutral-100\/25>:not([hidden])~:not([hidden]){border-color:#f5f5f540}.dark\:divide-neutral-100\/30>:not([hidden])~:not([hidden]){border-color:#f5f5f54d}.dark\:divide-neutral-100\/35>:not([hidden])~:not([hidden]){border-color:#f5f5f559}.dark\:divide-neutral-100\/40>:not([hidden])~:not([hidden]){border-color:#f5f5f566}.dark\:divide-neutral-100\/45>:not([hidden])~:not([hidden]){border-color:#f5f5f573}.dark\:divide-neutral-100\/5>:not([hidden])~:not([hidden]){border-color:#f5f5f50d}.dark\:divide-neutral-100\/50>:not([hidden])~:not([hidden]){border-color:#f5f5f580}.dark\:divide-neutral-100\/55>:not([hidden])~:not([hidden]){border-color:#f5f5f58c}.dark\:divide-neutral-100\/60>:not([hidden])~:not([hidden]){border-color:#f5f5f599}.dark\:divide-neutral-100\/65>:not([hidden])~:not([hidden]){border-color:#f5f5f5a6}.dark\:divide-neutral-100\/70>:not([hidden])~:not([hidden]){border-color:#f5f5f5b3}.dark\:divide-neutral-100\/75>:not([hidden])~:not([hidden]){border-color:#f5f5f5bf}.dark\:divide-neutral-100\/80>:not([hidden])~:not([hidden]){border-color:#f5f5f5cc}.dark\:divide-neutral-100\/85>:not([hidden])~:not([hidden]){border-color:#f5f5f5d9}.dark\:divide-neutral-100\/90>:not([hidden])~:not([hidden]){border-color:#f5f5f5e6}.dark\:divide-neutral-100\/95>:not([hidden])~:not([hidden]){border-color:#f5f5f5f2}.dark\:divide-neutral-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 229 229/var(--tw-divide-opacity))}.dark\:divide-neutral-200\/0>:not([hidden])~:not([hidden]){border-color:#e5e5e500}.dark\:divide-neutral-200\/10>:not([hidden])~:not([hidden]){border-color:#e5e5e51a}.dark\:divide-neutral-200\/100>:not([hidden])~:not([hidden]){border-color:#e5e5e5}.dark\:divide-neutral-200\/15>:not([hidden])~:not([hidden]){border-color:#e5e5e526}.dark\:divide-neutral-200\/20>:not([hidden])~:not([hidden]){border-color:#e5e5e533}.dark\:divide-neutral-200\/25>:not([hidden])~:not([hidden]){border-color:#e5e5e540}.dark\:divide-neutral-200\/30>:not([hidden])~:not([hidden]){border-color:#e5e5e54d}.dark\:divide-neutral-200\/35>:not([hidden])~:not([hidden]){border-color:#e5e5e559}.dark\:divide-neutral-200\/40>:not([hidden])~:not([hidden]){border-color:#e5e5e566}.dark\:divide-neutral-200\/45>:not([hidden])~:not([hidden]){border-color:#e5e5e573}.dark\:divide-neutral-200\/5>:not([hidden])~:not([hidden]){border-color:#e5e5e50d}.dark\:divide-neutral-200\/50>:not([hidden])~:not([hidden]){border-color:#e5e5e580}.dark\:divide-neutral-200\/55>:not([hidden])~:not([hidden]){border-color:#e5e5e58c}.dark\:divide-neutral-200\/60>:not([hidden])~:not([hidden]){border-color:#e5e5e599}.dark\:divide-neutral-200\/65>:not([hidden])~:not([hidden]){border-color:#e5e5e5a6}.dark\:divide-neutral-200\/70>:not([hidden])~:not([hidden]){border-color:#e5e5e5b3}.dark\:divide-neutral-200\/75>:not([hidden])~:not([hidden]){border-color:#e5e5e5bf}.dark\:divide-neutral-200\/80>:not([hidden])~:not([hidden]){border-color:#e5e5e5cc}.dark\:divide-neutral-200\/85>:not([hidden])~:not([hidden]){border-color:#e5e5e5d9}.dark\:divide-neutral-200\/90>:not([hidden])~:not([hidden]){border-color:#e5e5e5e6}.dark\:divide-neutral-200\/95>:not([hidden])~:not([hidden]){border-color:#e5e5e5f2}.dark\:divide-neutral-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(212 212 212/var(--tw-divide-opacity))}.dark\:divide-neutral-300\/0>:not([hidden])~:not([hidden]){border-color:#d4d4d400}.dark\:divide-neutral-300\/10>:not([hidden])~:not([hidden]){border-color:#d4d4d41a}.dark\:divide-neutral-300\/100>:not([hidden])~:not([hidden]){border-color:#d4d4d4}.dark\:divide-neutral-300\/15>:not([hidden])~:not([hidden]){border-color:#d4d4d426}.dark\:divide-neutral-300\/20>:not([hidden])~:not([hidden]){border-color:#d4d4d433}.dark\:divide-neutral-300\/25>:not([hidden])~:not([hidden]){border-color:#d4d4d440}.dark\:divide-neutral-300\/30>:not([hidden])~:not([hidden]){border-color:#d4d4d44d}.dark\:divide-neutral-300\/35>:not([hidden])~:not([hidden]){border-color:#d4d4d459}.dark\:divide-neutral-300\/40>:not([hidden])~:not([hidden]){border-color:#d4d4d466}.dark\:divide-neutral-300\/45>:not([hidden])~:not([hidden]){border-color:#d4d4d473}.dark\:divide-neutral-300\/5>:not([hidden])~:not([hidden]){border-color:#d4d4d40d}.dark\:divide-neutral-300\/50>:not([hidden])~:not([hidden]){border-color:#d4d4d480}.dark\:divide-neutral-300\/55>:not([hidden])~:not([hidden]){border-color:#d4d4d48c}.dark\:divide-neutral-300\/60>:not([hidden])~:not([hidden]){border-color:#d4d4d499}.dark\:divide-neutral-300\/65>:not([hidden])~:not([hidden]){border-color:#d4d4d4a6}.dark\:divide-neutral-300\/70>:not([hidden])~:not([hidden]){border-color:#d4d4d4b3}.dark\:divide-neutral-300\/75>:not([hidden])~:not([hidden]){border-color:#d4d4d4bf}.dark\:divide-neutral-300\/80>:not([hidden])~:not([hidden]){border-color:#d4d4d4cc}.dark\:divide-neutral-300\/85>:not([hidden])~:not([hidden]){border-color:#d4d4d4d9}.dark\:divide-neutral-300\/90>:not([hidden])~:not([hidden]){border-color:#d4d4d4e6}.dark\:divide-neutral-300\/95>:not([hidden])~:not([hidden]){border-color:#d4d4d4f2}.dark\:divide-neutral-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(163 163 163/var(--tw-divide-opacity))}.dark\:divide-neutral-400\/0>:not([hidden])~:not([hidden]){border-color:#a3a3a300}.dark\:divide-neutral-400\/10>:not([hidden])~:not([hidden]){border-color:#a3a3a31a}.dark\:divide-neutral-400\/100>:not([hidden])~:not([hidden]){border-color:#a3a3a3}.dark\:divide-neutral-400\/15>:not([hidden])~:not([hidden]){border-color:#a3a3a326}.dark\:divide-neutral-400\/20>:not([hidden])~:not([hidden]){border-color:#a3a3a333}.dark\:divide-neutral-400\/25>:not([hidden])~:not([hidden]){border-color:#a3a3a340}.dark\:divide-neutral-400\/30>:not([hidden])~:not([hidden]){border-color:#a3a3a34d}.dark\:divide-neutral-400\/35>:not([hidden])~:not([hidden]){border-color:#a3a3a359}.dark\:divide-neutral-400\/40>:not([hidden])~:not([hidden]){border-color:#a3a3a366}.dark\:divide-neutral-400\/45>:not([hidden])~:not([hidden]){border-color:#a3a3a373}.dark\:divide-neutral-400\/5>:not([hidden])~:not([hidden]){border-color:#a3a3a30d}.dark\:divide-neutral-400\/50>:not([hidden])~:not([hidden]){border-color:#a3a3a380}.dark\:divide-neutral-400\/55>:not([hidden])~:not([hidden]){border-color:#a3a3a38c}.dark\:divide-neutral-400\/60>:not([hidden])~:not([hidden]){border-color:#a3a3a399}.dark\:divide-neutral-400\/65>:not([hidden])~:not([hidden]){border-color:#a3a3a3a6}.dark\:divide-neutral-400\/70>:not([hidden])~:not([hidden]){border-color:#a3a3a3b3}.dark\:divide-neutral-400\/75>:not([hidden])~:not([hidden]){border-color:#a3a3a3bf}.dark\:divide-neutral-400\/80>:not([hidden])~:not([hidden]){border-color:#a3a3a3cc}.dark\:divide-neutral-400\/85>:not([hidden])~:not([hidden]){border-color:#a3a3a3d9}.dark\:divide-neutral-400\/90>:not([hidden])~:not([hidden]){border-color:#a3a3a3e6}.dark\:divide-neutral-400\/95>:not([hidden])~:not([hidden]){border-color:#a3a3a3f2}.dark\:divide-neutral-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(250 250 250/var(--tw-divide-opacity))}.dark\:divide-neutral-50\/0>:not([hidden])~:not([hidden]){border-color:#fafafa00}.dark\:divide-neutral-50\/10>:not([hidden])~:not([hidden]){border-color:#fafafa1a}.dark\:divide-neutral-50\/100>:not([hidden])~:not([hidden]){border-color:#fafafa}.dark\:divide-neutral-50\/15>:not([hidden])~:not([hidden]){border-color:#fafafa26}.dark\:divide-neutral-50\/20>:not([hidden])~:not([hidden]){border-color:#fafafa33}.dark\:divide-neutral-50\/25>:not([hidden])~:not([hidden]){border-color:#fafafa40}.dark\:divide-neutral-50\/30>:not([hidden])~:not([hidden]){border-color:#fafafa4d}.dark\:divide-neutral-50\/35>:not([hidden])~:not([hidden]){border-color:#fafafa59}.dark\:divide-neutral-50\/40>:not([hidden])~:not([hidden]){border-color:#fafafa66}.dark\:divide-neutral-50\/45>:not([hidden])~:not([hidden]){border-color:#fafafa73}.dark\:divide-neutral-50\/5>:not([hidden])~:not([hidden]){border-color:#fafafa0d}.dark\:divide-neutral-50\/50>:not([hidden])~:not([hidden]){border-color:#fafafa80}.dark\:divide-neutral-50\/55>:not([hidden])~:not([hidden]){border-color:#fafafa8c}.dark\:divide-neutral-50\/60>:not([hidden])~:not([hidden]){border-color:#fafafa99}.dark\:divide-neutral-50\/65>:not([hidden])~:not([hidden]){border-color:#fafafaa6}.dark\:divide-neutral-50\/70>:not([hidden])~:not([hidden]){border-color:#fafafab3}.dark\:divide-neutral-50\/75>:not([hidden])~:not([hidden]){border-color:#fafafabf}.dark\:divide-neutral-50\/80>:not([hidden])~:not([hidden]){border-color:#fafafacc}.dark\:divide-neutral-50\/85>:not([hidden])~:not([hidden]){border-color:#fafafad9}.dark\:divide-neutral-50\/90>:not([hidden])~:not([hidden]){border-color:#fafafae6}.dark\:divide-neutral-50\/95>:not([hidden])~:not([hidden]){border-color:#fafafaf2}.dark\:divide-neutral-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(115 115 115/var(--tw-divide-opacity))}.dark\:divide-neutral-500\/0>:not([hidden])~:not([hidden]){border-color:#73737300}.dark\:divide-neutral-500\/10>:not([hidden])~:not([hidden]){border-color:#7373731a}.dark\:divide-neutral-500\/100>:not([hidden])~:not([hidden]){border-color:#737373}.dark\:divide-neutral-500\/15>:not([hidden])~:not([hidden]){border-color:#73737326}.dark\:divide-neutral-500\/20>:not([hidden])~:not([hidden]){border-color:#73737333}.dark\:divide-neutral-500\/25>:not([hidden])~:not([hidden]){border-color:#73737340}.dark\:divide-neutral-500\/30>:not([hidden])~:not([hidden]){border-color:#7373734d}.dark\:divide-neutral-500\/35>:not([hidden])~:not([hidden]){border-color:#73737359}.dark\:divide-neutral-500\/40>:not([hidden])~:not([hidden]){border-color:#73737366}.dark\:divide-neutral-500\/45>:not([hidden])~:not([hidden]){border-color:#73737373}.dark\:divide-neutral-500\/5>:not([hidden])~:not([hidden]){border-color:#7373730d}.dark\:divide-neutral-500\/50>:not([hidden])~:not([hidden]){border-color:#73737380}.dark\:divide-neutral-500\/55>:not([hidden])~:not([hidden]){border-color:#7373738c}.dark\:divide-neutral-500\/60>:not([hidden])~:not([hidden]){border-color:#73737399}.dark\:divide-neutral-500\/65>:not([hidden])~:not([hidden]){border-color:#737373a6}.dark\:divide-neutral-500\/70>:not([hidden])~:not([hidden]){border-color:#737373b3}.dark\:divide-neutral-500\/75>:not([hidden])~:not([hidden]){border-color:#737373bf}.dark\:divide-neutral-500\/80>:not([hidden])~:not([hidden]){border-color:#737373cc}.dark\:divide-neutral-500\/85>:not([hidden])~:not([hidden]){border-color:#737373d9}.dark\:divide-neutral-500\/90>:not([hidden])~:not([hidden]){border-color:#737373e6}.dark\:divide-neutral-500\/95>:not([hidden])~:not([hidden]){border-color:#737373f2}.dark\:divide-neutral-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(82 82 82/var(--tw-divide-opacity))}.dark\:divide-neutral-600\/0>:not([hidden])~:not([hidden]){border-color:#52525200}.dark\:divide-neutral-600\/10>:not([hidden])~:not([hidden]){border-color:#5252521a}.dark\:divide-neutral-600\/100>:not([hidden])~:not([hidden]){border-color:#525252}.dark\:divide-neutral-600\/15>:not([hidden])~:not([hidden]){border-color:#52525226}.dark\:divide-neutral-600\/20>:not([hidden])~:not([hidden]){border-color:#52525233}.dark\:divide-neutral-600\/25>:not([hidden])~:not([hidden]){border-color:#52525240}.dark\:divide-neutral-600\/30>:not([hidden])~:not([hidden]){border-color:#5252524d}.dark\:divide-neutral-600\/35>:not([hidden])~:not([hidden]){border-color:#52525259}.dark\:divide-neutral-600\/40>:not([hidden])~:not([hidden]){border-color:#52525266}.dark\:divide-neutral-600\/45>:not([hidden])~:not([hidden]){border-color:#52525273}.dark\:divide-neutral-600\/5>:not([hidden])~:not([hidden]){border-color:#5252520d}.dark\:divide-neutral-600\/50>:not([hidden])~:not([hidden]){border-color:#52525280}.dark\:divide-neutral-600\/55>:not([hidden])~:not([hidden]){border-color:#5252528c}.dark\:divide-neutral-600\/60>:not([hidden])~:not([hidden]){border-color:#52525299}.dark\:divide-neutral-600\/65>:not([hidden])~:not([hidden]){border-color:#525252a6}.dark\:divide-neutral-600\/70>:not([hidden])~:not([hidden]){border-color:#525252b3}.dark\:divide-neutral-600\/75>:not([hidden])~:not([hidden]){border-color:#525252bf}.dark\:divide-neutral-600\/80>:not([hidden])~:not([hidden]){border-color:#525252cc}.dark\:divide-neutral-600\/85>:not([hidden])~:not([hidden]){border-color:#525252d9}.dark\:divide-neutral-600\/90>:not([hidden])~:not([hidden]){border-color:#525252e6}.dark\:divide-neutral-600\/95>:not([hidden])~:not([hidden]){border-color:#525252f2}.dark\:divide-neutral-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(64 64 64/var(--tw-divide-opacity))}.dark\:divide-neutral-700\/0>:not([hidden])~:not([hidden]){border-color:#40404000}.dark\:divide-neutral-700\/10>:not([hidden])~:not([hidden]){border-color:#4040401a}.dark\:divide-neutral-700\/100>:not([hidden])~:not([hidden]){border-color:#404040}.dark\:divide-neutral-700\/15>:not([hidden])~:not([hidden]){border-color:#40404026}.dark\:divide-neutral-700\/20>:not([hidden])~:not([hidden]){border-color:#40404033}.dark\:divide-neutral-700\/25>:not([hidden])~:not([hidden]){border-color:#40404040}.dark\:divide-neutral-700\/30>:not([hidden])~:not([hidden]){border-color:#4040404d}.dark\:divide-neutral-700\/35>:not([hidden])~:not([hidden]){border-color:#40404059}.dark\:divide-neutral-700\/40>:not([hidden])~:not([hidden]){border-color:#40404066}.dark\:divide-neutral-700\/45>:not([hidden])~:not([hidden]){border-color:#40404073}.dark\:divide-neutral-700\/5>:not([hidden])~:not([hidden]){border-color:#4040400d}.dark\:divide-neutral-700\/50>:not([hidden])~:not([hidden]){border-color:#40404080}.dark\:divide-neutral-700\/55>:not([hidden])~:not([hidden]){border-color:#4040408c}.dark\:divide-neutral-700\/60>:not([hidden])~:not([hidden]){border-color:#40404099}.dark\:divide-neutral-700\/65>:not([hidden])~:not([hidden]){border-color:#404040a6}.dark\:divide-neutral-700\/70>:not([hidden])~:not([hidden]){border-color:#404040b3}.dark\:divide-neutral-700\/75>:not([hidden])~:not([hidden]){border-color:#404040bf}.dark\:divide-neutral-700\/80>:not([hidden])~:not([hidden]){border-color:#404040cc}.dark\:divide-neutral-700\/85>:not([hidden])~:not([hidden]){border-color:#404040d9}.dark\:divide-neutral-700\/90>:not([hidden])~:not([hidden]){border-color:#404040e6}.dark\:divide-neutral-700\/95>:not([hidden])~:not([hidden]){border-color:#404040f2}.dark\:divide-neutral-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(38 38 38/var(--tw-divide-opacity))}.dark\:divide-neutral-800\/0>:not([hidden])~:not([hidden]){border-color:#26262600}.dark\:divide-neutral-800\/10>:not([hidden])~:not([hidden]){border-color:#2626261a}.dark\:divide-neutral-800\/100>:not([hidden])~:not([hidden]){border-color:#262626}.dark\:divide-neutral-800\/15>:not([hidden])~:not([hidden]){border-color:#26262626}.dark\:divide-neutral-800\/20>:not([hidden])~:not([hidden]){border-color:#26262633}.dark\:divide-neutral-800\/25>:not([hidden])~:not([hidden]){border-color:#26262640}.dark\:divide-neutral-800\/30>:not([hidden])~:not([hidden]){border-color:#2626264d}.dark\:divide-neutral-800\/35>:not([hidden])~:not([hidden]){border-color:#26262659}.dark\:divide-neutral-800\/40>:not([hidden])~:not([hidden]){border-color:#26262666}.dark\:divide-neutral-800\/45>:not([hidden])~:not([hidden]){border-color:#26262673}.dark\:divide-neutral-800\/5>:not([hidden])~:not([hidden]){border-color:#2626260d}.dark\:divide-neutral-800\/50>:not([hidden])~:not([hidden]){border-color:#26262680}.dark\:divide-neutral-800\/55>:not([hidden])~:not([hidden]){border-color:#2626268c}.dark\:divide-neutral-800\/60>:not([hidden])~:not([hidden]){border-color:#26262699}.dark\:divide-neutral-800\/65>:not([hidden])~:not([hidden]){border-color:#262626a6}.dark\:divide-neutral-800\/70>:not([hidden])~:not([hidden]){border-color:#262626b3}.dark\:divide-neutral-800\/75>:not([hidden])~:not([hidden]){border-color:#262626bf}.dark\:divide-neutral-800\/80>:not([hidden])~:not([hidden]){border-color:#262626cc}.dark\:divide-neutral-800\/85>:not([hidden])~:not([hidden]){border-color:#262626d9}.dark\:divide-neutral-800\/90>:not([hidden])~:not([hidden]){border-color:#262626e6}.dark\:divide-neutral-800\/95>:not([hidden])~:not([hidden]){border-color:#262626f2}.dark\:divide-neutral-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(23 23 23/var(--tw-divide-opacity))}.dark\:divide-neutral-900\/0>:not([hidden])~:not([hidden]){border-color:#17171700}.dark\:divide-neutral-900\/10>:not([hidden])~:not([hidden]){border-color:#1717171a}.dark\:divide-neutral-900\/100>:not([hidden])~:not([hidden]){border-color:#171717}.dark\:divide-neutral-900\/15>:not([hidden])~:not([hidden]){border-color:#17171726}.dark\:divide-neutral-900\/20>:not([hidden])~:not([hidden]){border-color:#17171733}.dark\:divide-neutral-900\/25>:not([hidden])~:not([hidden]){border-color:#17171740}.dark\:divide-neutral-900\/30>:not([hidden])~:not([hidden]){border-color:#1717174d}.dark\:divide-neutral-900\/35>:not([hidden])~:not([hidden]){border-color:#17171759}.dark\:divide-neutral-900\/40>:not([hidden])~:not([hidden]){border-color:#17171766}.dark\:divide-neutral-900\/45>:not([hidden])~:not([hidden]){border-color:#17171773}.dark\:divide-neutral-900\/5>:not([hidden])~:not([hidden]){border-color:#1717170d}.dark\:divide-neutral-900\/50>:not([hidden])~:not([hidden]){border-color:#17171780}.dark\:divide-neutral-900\/55>:not([hidden])~:not([hidden]){border-color:#1717178c}.dark\:divide-neutral-900\/60>:not([hidden])~:not([hidden]){border-color:#17171799}.dark\:divide-neutral-900\/65>:not([hidden])~:not([hidden]){border-color:#171717a6}.dark\:divide-neutral-900\/70>:not([hidden])~:not([hidden]){border-color:#171717b3}.dark\:divide-neutral-900\/75>:not([hidden])~:not([hidden]){border-color:#171717bf}.dark\:divide-neutral-900\/80>:not([hidden])~:not([hidden]){border-color:#171717cc}.dark\:divide-neutral-900\/85>:not([hidden])~:not([hidden]){border-color:#171717d9}.dark\:divide-neutral-900\/90>:not([hidden])~:not([hidden]){border-color:#171717e6}.dark\:divide-neutral-900\/95>:not([hidden])~:not([hidden]){border-color:#171717f2}.dark\:divide-neutral-950>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(10 10 10/var(--tw-divide-opacity))}.dark\:divide-neutral-950\/0>:not([hidden])~:not([hidden]){border-color:#0a0a0a00}.dark\:divide-neutral-950\/10>:not([hidden])~:not([hidden]){border-color:#0a0a0a1a}.dark\:divide-neutral-950\/100>:not([hidden])~:not([hidden]){border-color:#0a0a0a}.dark\:divide-neutral-950\/15>:not([hidden])~:not([hidden]){border-color:#0a0a0a26}.dark\:divide-neutral-950\/20>:not([hidden])~:not([hidden]){border-color:#0a0a0a33}.dark\:divide-neutral-950\/25>:not([hidden])~:not([hidden]){border-color:#0a0a0a40}.dark\:divide-neutral-950\/30>:not([hidden])~:not([hidden]){border-color:#0a0a0a4d}.dark\:divide-neutral-950\/35>:not([hidden])~:not([hidden]){border-color:#0a0a0a59}.dark\:divide-neutral-950\/40>:not([hidden])~:not([hidden]){border-color:#0a0a0a66}.dark\:divide-neutral-950\/45>:not([hidden])~:not([hidden]){border-color:#0a0a0a73}.dark\:divide-neutral-950\/5>:not([hidden])~:not([hidden]){border-color:#0a0a0a0d}.dark\:divide-neutral-950\/50>:not([hidden])~:not([hidden]){border-color:#0a0a0a80}.dark\:divide-neutral-950\/55>:not([hidden])~:not([hidden]){border-color:#0a0a0a8c}.dark\:divide-neutral-950\/60>:not([hidden])~:not([hidden]){border-color:#0a0a0a99}.dark\:divide-neutral-950\/65>:not([hidden])~:not([hidden]){border-color:#0a0a0aa6}.dark\:divide-neutral-950\/70>:not([hidden])~:not([hidden]){border-color:#0a0a0ab3}.dark\:divide-neutral-950\/75>:not([hidden])~:not([hidden]){border-color:#0a0a0abf}.dark\:divide-neutral-950\/80>:not([hidden])~:not([hidden]){border-color:#0a0a0acc}.dark\:divide-neutral-950\/85>:not([hidden])~:not([hidden]){border-color:#0a0a0ad9}.dark\:divide-neutral-950\/90>:not([hidden])~:not([hidden]){border-color:#0a0a0ae6}.dark\:divide-neutral-950\/95>:not([hidden])~:not([hidden]){border-color:#0a0a0af2}.dark\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.dark\:bg-gray-100\/0{background-color:#f3f4f600}.dark\:bg-gray-100\/10{background-color:#f3f4f61a}.dark\:bg-gray-100\/100{background-color:#f3f4f6}.dark\:bg-gray-100\/15{background-color:#f3f4f626}.dark\:bg-gray-100\/20{background-color:#f3f4f633}.dark\:bg-gray-100\/25{background-color:#f3f4f640}.dark\:bg-gray-100\/30{background-color:#f3f4f64d}.dark\:bg-gray-100\/35{background-color:#f3f4f659}.dark\:bg-gray-100\/40{background-color:#f3f4f666}.dark\:bg-gray-100\/45{background-color:#f3f4f673}.dark\:bg-gray-100\/5{background-color:#f3f4f60d}.dark\:bg-gray-100\/50{background-color:#f3f4f680}.dark\:bg-gray-100\/55{background-color:#f3f4f68c}.dark\:bg-gray-100\/60{background-color:#f3f4f699}.dark\:bg-gray-100\/65{background-color:#f3f4f6a6}.dark\:bg-gray-100\/70{background-color:#f3f4f6b3}.dark\:bg-gray-100\/75{background-color:#f3f4f6bf}.dark\:bg-gray-100\/80{background-color:#f3f4f6cc}.dark\:bg-gray-100\/85{background-color:#f3f4f6d9}.dark\:bg-gray-100\/90{background-color:#f3f4f6e6}.dark\:bg-gray-100\/95{background-color:#f3f4f6f2}.dark\:bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.dark\:bg-gray-200\/0{background-color:#e5e7eb00}.dark\:bg-gray-200\/10{background-color:#e5e7eb1a}.dark\:bg-gray-200\/100{background-color:#e5e7eb}.dark\:bg-gray-200\/15{background-color:#e5e7eb26}.dark\:bg-gray-200\/20{background-color:#e5e7eb33}.dark\:bg-gray-200\/25{background-color:#e5e7eb40}.dark\:bg-gray-200\/30{background-color:#e5e7eb4d}.dark\:bg-gray-200\/35{background-color:#e5e7eb59}.dark\:bg-gray-200\/40{background-color:#e5e7eb66}.dark\:bg-gray-200\/45{background-color:#e5e7eb73}.dark\:bg-gray-200\/5{background-color:#e5e7eb0d}.dark\:bg-gray-200\/50{background-color:#e5e7eb80}.dark\:bg-gray-200\/55{background-color:#e5e7eb8c}.dark\:bg-gray-200\/60{background-color:#e5e7eb99}.dark\:bg-gray-200\/65{background-color:#e5e7eba6}.dark\:bg-gray-200\/70{background-color:#e5e7ebb3}.dark\:bg-gray-200\/75{background-color:#e5e7ebbf}.dark\:bg-gray-200\/80{background-color:#e5e7ebcc}.dark\:bg-gray-200\/85{background-color:#e5e7ebd9}.dark\:bg-gray-200\/90{background-color:#e5e7ebe6}.dark\:bg-gray-200\/95{background-color:#e5e7ebf2}.dark\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.dark\:bg-gray-300\/0{background-color:#d1d5db00}.dark\:bg-gray-300\/10{background-color:#d1d5db1a}.dark\:bg-gray-300\/100{background-color:#d1d5db}.dark\:bg-gray-300\/15{background-color:#d1d5db26}.dark\:bg-gray-300\/20{background-color:#d1d5db33}.dark\:bg-gray-300\/25{background-color:#d1d5db40}.dark\:bg-gray-300\/30{background-color:#d1d5db4d}.dark\:bg-gray-300\/35{background-color:#d1d5db59}.dark\:bg-gray-300\/40{background-color:#d1d5db66}.dark\:bg-gray-300\/45{background-color:#d1d5db73}.dark\:bg-gray-300\/5{background-color:#d1d5db0d}.dark\:bg-gray-300\/50{background-color:#d1d5db80}.dark\:bg-gray-300\/55{background-color:#d1d5db8c}.dark\:bg-gray-300\/60{background-color:#d1d5db99}.dark\:bg-gray-300\/65{background-color:#d1d5dba6}.dark\:bg-gray-300\/70{background-color:#d1d5dbb3}.dark\:bg-gray-300\/75{background-color:#d1d5dbbf}.dark\:bg-gray-300\/80{background-color:#d1d5dbcc}.dark\:bg-gray-300\/85{background-color:#d1d5dbd9}.dark\:bg-gray-300\/90{background-color:#d1d5dbe6}.dark\:bg-gray-300\/95{background-color:#d1d5dbf2}.dark\:bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.dark\:bg-gray-400\/0{background-color:#9ca3af00}.dark\:bg-gray-400\/10{background-color:#9ca3af1a}.dark\:bg-gray-400\/100{background-color:#9ca3af}.dark\:bg-gray-400\/15{background-color:#9ca3af26}.dark\:bg-gray-400\/20{background-color:#9ca3af33}.dark\:bg-gray-400\/25{background-color:#9ca3af40}.dark\:bg-gray-400\/30{background-color:#9ca3af4d}.dark\:bg-gray-400\/35{background-color:#9ca3af59}.dark\:bg-gray-400\/40{background-color:#9ca3af66}.dark\:bg-gray-400\/45{background-color:#9ca3af73}.dark\:bg-gray-400\/5{background-color:#9ca3af0d}.dark\:bg-gray-400\/50{background-color:#9ca3af80}.dark\:bg-gray-400\/55{background-color:#9ca3af8c}.dark\:bg-gray-400\/60{background-color:#9ca3af99}.dark\:bg-gray-400\/65{background-color:#9ca3afa6}.dark\:bg-gray-400\/70{background-color:#9ca3afb3}.dark\:bg-gray-400\/75{background-color:#9ca3afbf}.dark\:bg-gray-400\/80{background-color:#9ca3afcc}.dark\:bg-gray-400\/85{background-color:#9ca3afd9}.dark\:bg-gray-400\/90{background-color:#9ca3afe6}.dark\:bg-gray-400\/95{background-color:#9ca3aff2}.dark\:bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.dark\:bg-gray-50\/0{background-color:#f9fafb00}.dark\:bg-gray-50\/10{background-color:#f9fafb1a}.dark\:bg-gray-50\/100{background-color:#f9fafb}.dark\:bg-gray-50\/15{background-color:#f9fafb26}.dark\:bg-gray-50\/20{background-color:#f9fafb33}.dark\:bg-gray-50\/25{background-color:#f9fafb40}.dark\:bg-gray-50\/30{background-color:#f9fafb4d}.dark\:bg-gray-50\/35{background-color:#f9fafb59}.dark\:bg-gray-50\/40{background-color:#f9fafb66}.dark\:bg-gray-50\/45{background-color:#f9fafb73}.dark\:bg-gray-50\/5{background-color:#f9fafb0d}.dark\:bg-gray-50\/50{background-color:#f9fafb80}.dark\:bg-gray-50\/55{background-color:#f9fafb8c}.dark\:bg-gray-50\/60{background-color:#f9fafb99}.dark\:bg-gray-50\/65{background-color:#f9fafba6}.dark\:bg-gray-50\/70{background-color:#f9fafbb3}.dark\:bg-gray-50\/75{background-color:#f9fafbbf}.dark\:bg-gray-50\/80{background-color:#f9fafbcc}.dark\:bg-gray-50\/85{background-color:#f9fafbd9}.dark\:bg-gray-50\/90{background-color:#f9fafbe6}.dark\:bg-gray-50\/95{background-color:#f9fafbf2}.dark\:bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.dark\:bg-gray-500\/0{background-color:#6b728000}.dark\:bg-gray-500\/10{background-color:#6b72801a}.dark\:bg-gray-500\/100{background-color:#6b7280}.dark\:bg-gray-500\/15{background-color:#6b728026}.dark\:bg-gray-500\/20{background-color:#6b728033}.dark\:bg-gray-500\/25{background-color:#6b728040}.dark\:bg-gray-500\/30{background-color:#6b72804d}.dark\:bg-gray-500\/35{background-color:#6b728059}.dark\:bg-gray-500\/40{background-color:#6b728066}.dark\:bg-gray-500\/45{background-color:#6b728073}.dark\:bg-gray-500\/5{background-color:#6b72800d}.dark\:bg-gray-500\/50{background-color:#6b728080}.dark\:bg-gray-500\/55{background-color:#6b72808c}.dark\:bg-gray-500\/60{background-color:#6b728099}.dark\:bg-gray-500\/65{background-color:#6b7280a6}.dark\:bg-gray-500\/70{background-color:#6b7280b3}.dark\:bg-gray-500\/75{background-color:#6b7280bf}.dark\:bg-gray-500\/80{background-color:#6b7280cc}.dark\:bg-gray-500\/85{background-color:#6b7280d9}.dark\:bg-gray-500\/90{background-color:#6b7280e6}.dark\:bg-gray-500\/95{background-color:#6b7280f2}.dark\:bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.dark\:bg-gray-600\/0{background-color:#4b556300}.dark\:bg-gray-600\/10{background-color:#4b55631a}.dark\:bg-gray-600\/100{background-color:#4b5563}.dark\:bg-gray-600\/15{background-color:#4b556326}.dark\:bg-gray-600\/20{background-color:#4b556333}.dark\:bg-gray-600\/25{background-color:#4b556340}.dark\:bg-gray-600\/30{background-color:#4b55634d}.dark\:bg-gray-600\/35{background-color:#4b556359}.dark\:bg-gray-600\/40{background-color:#4b556366}.dark\:bg-gray-600\/45{background-color:#4b556373}.dark\:bg-gray-600\/5{background-color:#4b55630d}.dark\:bg-gray-600\/50{background-color:#4b556380}.dark\:bg-gray-600\/55{background-color:#4b55638c}.dark\:bg-gray-600\/60{background-color:#4b556399}.dark\:bg-gray-600\/65{background-color:#4b5563a6}.dark\:bg-gray-600\/70{background-color:#4b5563b3}.dark\:bg-gray-600\/75{background-color:#4b5563bf}.dark\:bg-gray-600\/80{background-color:#4b5563cc}.dark\:bg-gray-600\/85{background-color:#4b5563d9}.dark\:bg-gray-600\/90{background-color:#4b5563e6}.dark\:bg-gray-600\/95{background-color:#4b5563f2}.dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark\:bg-gray-700\/0{background-color:#37415100}.dark\:bg-gray-700\/10{background-color:#3741511a}.dark\:bg-gray-700\/100{background-color:#374151}.dark\:bg-gray-700\/15{background-color:#37415126}.dark\:bg-gray-700\/20{background-color:#37415133}.dark\:bg-gray-700\/25{background-color:#37415140}.dark\:bg-gray-700\/30{background-color:#3741514d}.dark\:bg-gray-700\/35{background-color:#37415159}.dark\:bg-gray-700\/40{background-color:#37415166}.dark\:bg-gray-700\/45{background-color:#37415173}.dark\:bg-gray-700\/5{background-color:#3741510d}.dark\:bg-gray-700\/50{background-color:#37415180}.dark\:bg-gray-700\/55{background-color:#3741518c}.dark\:bg-gray-700\/60{background-color:#37415199}.dark\:bg-gray-700\/65{background-color:#374151a6}.dark\:bg-gray-700\/70{background-color:#374151b3}.dark\:bg-gray-700\/75{background-color:#374151bf}.dark\:bg-gray-700\/80{background-color:#374151cc}.dark\:bg-gray-700\/85{background-color:#374151d9}.dark\:bg-gray-700\/90{background-color:#374151e6}.dark\:bg-gray-700\/95{background-color:#374151f2}.dark\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.dark\:bg-gray-800\/0{background-color:#1f293700}.dark\:bg-gray-800\/10{background-color:#1f29371a}.dark\:bg-gray-800\/100{background-color:#1f2937}.dark\:bg-gray-800\/15{background-color:#1f293726}.dark\:bg-gray-800\/20{background-color:#1f293733}.dark\:bg-gray-800\/25{background-color:#1f293740}.dark\:bg-gray-800\/30{background-color:#1f29374d}.dark\:bg-gray-800\/35{background-color:#1f293759}.dark\:bg-gray-800\/40{background-color:#1f293766}.dark\:bg-gray-800\/45{background-color:#1f293773}.dark\:bg-gray-800\/5{background-color:#1f29370d}.dark\:bg-gray-800\/50{background-color:#1f293780}.dark\:bg-gray-800\/55{background-color:#1f29378c}.dark\:bg-gray-800\/60{background-color:#1f293799}.dark\:bg-gray-800\/65{background-color:#1f2937a6}.dark\:bg-gray-800\/70{background-color:#1f2937b3}.dark\:bg-gray-800\/75{background-color:#1f2937bf}.dark\:bg-gray-800\/80{background-color:#1f2937cc}.dark\:bg-gray-800\/85{background-color:#1f2937d9}.dark\:bg-gray-800\/90{background-color:#1f2937e6}.dark\:bg-gray-800\/95{background-color:#1f2937f2}.dark\:bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.dark\:bg-gray-900\/0{background-color:#11182700}.dark\:bg-gray-900\/10{background-color:#1118271a}.dark\:bg-gray-900\/100{background-color:#111827}.dark\:bg-gray-900\/15{background-color:#11182726}.dark\:bg-gray-900\/20{background-color:#11182733}.dark\:bg-gray-900\/25{background-color:#11182740}.dark\:bg-gray-900\/30{background-color:#1118274d}.dark\:bg-gray-900\/35{background-color:#11182759}.dark\:bg-gray-900\/40{background-color:#11182766}.dark\:bg-gray-900\/45{background-color:#11182773}.dark\:bg-gray-900\/5{background-color:#1118270d}.dark\:bg-gray-900\/50{background-color:#11182780}.dark\:bg-gray-900\/55{background-color:#1118278c}.dark\:bg-gray-900\/60{background-color:#11182799}.dark\:bg-gray-900\/65{background-color:#111827a6}.dark\:bg-gray-900\/70{background-color:#111827b3}.dark\:bg-gray-900\/75{background-color:#111827bf}.dark\:bg-gray-900\/80{background-color:#111827cc}.dark\:bg-gray-900\/85{background-color:#111827d9}.dark\:bg-gray-900\/90{background-color:#111827e6}.dark\:bg-gray-900\/95{background-color:#111827f2}.dark\:bg-gray-950{--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity))}.dark\:bg-gray-950\/0{background-color:#03071200}.dark\:bg-gray-950\/10{background-color:#0307121a}.dark\:bg-gray-950\/100{background-color:#030712}.dark\:bg-gray-950\/15{background-color:#03071226}.dark\:bg-gray-950\/20{background-color:#03071233}.dark\:bg-gray-950\/25{background-color:#03071240}.dark\:bg-gray-950\/30{background-color:#0307124d}.dark\:bg-gray-950\/35{background-color:#03071259}.dark\:bg-gray-950\/40{background-color:#03071266}.dark\:bg-gray-950\/45{background-color:#03071273}.dark\:bg-gray-950\/5{background-color:#0307120d}.dark\:bg-gray-950\/50{background-color:#03071280}.dark\:bg-gray-950\/55{background-color:#0307128c}.dark\:bg-gray-950\/60{background-color:#03071299}.dark\:bg-gray-950\/65{background-color:#030712a6}.dark\:bg-gray-950\/70{background-color:#030712b3}.dark\:bg-gray-950\/75{background-color:#030712bf}.dark\:bg-gray-950\/80{background-color:#030712cc}.dark\:bg-gray-950\/85{background-color:#030712d9}.dark\:bg-gray-950\/90{background-color:#030712e6}.dark\:bg-gray-950\/95{background-color:#030712f2}.dark\:bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.dark\:bg-neutral-100\/0{background-color:#f5f5f500}.dark\:bg-neutral-100\/10{background-color:#f5f5f51a}.dark\:bg-neutral-100\/100{background-color:#f5f5f5}.dark\:bg-neutral-100\/15{background-color:#f5f5f526}.dark\:bg-neutral-100\/20{background-color:#f5f5f533}.dark\:bg-neutral-100\/25{background-color:#f5f5f540}.dark\:bg-neutral-100\/30{background-color:#f5f5f54d}.dark\:bg-neutral-100\/35{background-color:#f5f5f559}.dark\:bg-neutral-100\/40{background-color:#f5f5f566}.dark\:bg-neutral-100\/45{background-color:#f5f5f573}.dark\:bg-neutral-100\/5{background-color:#f5f5f50d}.dark\:bg-neutral-100\/50{background-color:#f5f5f580}.dark\:bg-neutral-100\/55{background-color:#f5f5f58c}.dark\:bg-neutral-100\/60{background-color:#f5f5f599}.dark\:bg-neutral-100\/65{background-color:#f5f5f5a6}.dark\:bg-neutral-100\/70{background-color:#f5f5f5b3}.dark\:bg-neutral-100\/75{background-color:#f5f5f5bf}.dark\:bg-neutral-100\/80{background-color:#f5f5f5cc}.dark\:bg-neutral-100\/85{background-color:#f5f5f5d9}.dark\:bg-neutral-100\/90{background-color:#f5f5f5e6}.dark\:bg-neutral-100\/95{background-color:#f5f5f5f2}.dark\:bg-neutral-200{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity))}.dark\:bg-neutral-200\/0{background-color:#e5e5e500}.dark\:bg-neutral-200\/10{background-color:#e5e5e51a}.dark\:bg-neutral-200\/100{background-color:#e5e5e5}.dark\:bg-neutral-200\/15{background-color:#e5e5e526}.dark\:bg-neutral-200\/20{background-color:#e5e5e533}.dark\:bg-neutral-200\/25{background-color:#e5e5e540}.dark\:bg-neutral-200\/30{background-color:#e5e5e54d}.dark\:bg-neutral-200\/35{background-color:#e5e5e559}.dark\:bg-neutral-200\/40{background-color:#e5e5e566}.dark\:bg-neutral-200\/45{background-color:#e5e5e573}.dark\:bg-neutral-200\/5{background-color:#e5e5e50d}.dark\:bg-neutral-200\/50{background-color:#e5e5e580}.dark\:bg-neutral-200\/55{background-color:#e5e5e58c}.dark\:bg-neutral-200\/60{background-color:#e5e5e599}.dark\:bg-neutral-200\/65{background-color:#e5e5e5a6}.dark\:bg-neutral-200\/70{background-color:#e5e5e5b3}.dark\:bg-neutral-200\/75{background-color:#e5e5e5bf}.dark\:bg-neutral-200\/80{background-color:#e5e5e5cc}.dark\:bg-neutral-200\/85{background-color:#e5e5e5d9}.dark\:bg-neutral-200\/90{background-color:#e5e5e5e6}.dark\:bg-neutral-200\/95{background-color:#e5e5e5f2}.dark\:bg-neutral-300{--tw-bg-opacity:1;background-color:rgb(212 212 212/var(--tw-bg-opacity))}.dark\:bg-neutral-300\/0{background-color:#d4d4d400}.dark\:bg-neutral-300\/10{background-color:#d4d4d41a}.dark\:bg-neutral-300\/100{background-color:#d4d4d4}.dark\:bg-neutral-300\/15{background-color:#d4d4d426}.dark\:bg-neutral-300\/20{background-color:#d4d4d433}.dark\:bg-neutral-300\/25{background-color:#d4d4d440}.dark\:bg-neutral-300\/30{background-color:#d4d4d44d}.dark\:bg-neutral-300\/35{background-color:#d4d4d459}.dark\:bg-neutral-300\/40{background-color:#d4d4d466}.dark\:bg-neutral-300\/45{background-color:#d4d4d473}.dark\:bg-neutral-300\/5{background-color:#d4d4d40d}.dark\:bg-neutral-300\/50{background-color:#d4d4d480}.dark\:bg-neutral-300\/55{background-color:#d4d4d48c}.dark\:bg-neutral-300\/60{background-color:#d4d4d499}.dark\:bg-neutral-300\/65{background-color:#d4d4d4a6}.dark\:bg-neutral-300\/70{background-color:#d4d4d4b3}.dark\:bg-neutral-300\/75{background-color:#d4d4d4bf}.dark\:bg-neutral-300\/80{background-color:#d4d4d4cc}.dark\:bg-neutral-300\/85{background-color:#d4d4d4d9}.dark\:bg-neutral-300\/90{background-color:#d4d4d4e6}.dark\:bg-neutral-300\/95{background-color:#d4d4d4f2}.dark\:bg-neutral-400{--tw-bg-opacity:1;background-color:rgb(163 163 163/var(--tw-bg-opacity))}.dark\:bg-neutral-400\/0{background-color:#a3a3a300}.dark\:bg-neutral-400\/10{background-color:#a3a3a31a}.dark\:bg-neutral-400\/100{background-color:#a3a3a3}.dark\:bg-neutral-400\/15{background-color:#a3a3a326}.dark\:bg-neutral-400\/20{background-color:#a3a3a333}.dark\:bg-neutral-400\/25{background-color:#a3a3a340}.dark\:bg-neutral-400\/30{background-color:#a3a3a34d}.dark\:bg-neutral-400\/35{background-color:#a3a3a359}.dark\:bg-neutral-400\/40{background-color:#a3a3a366}.dark\:bg-neutral-400\/45{background-color:#a3a3a373}.dark\:bg-neutral-400\/5{background-color:#a3a3a30d}.dark\:bg-neutral-400\/50{background-color:#a3a3a380}.dark\:bg-neutral-400\/55{background-color:#a3a3a38c}.dark\:bg-neutral-400\/60{background-color:#a3a3a399}.dark\:bg-neutral-400\/65{background-color:#a3a3a3a6}.dark\:bg-neutral-400\/70{background-color:#a3a3a3b3}.dark\:bg-neutral-400\/75{background-color:#a3a3a3bf}.dark\:bg-neutral-400\/80{background-color:#a3a3a3cc}.dark\:bg-neutral-400\/85{background-color:#a3a3a3d9}.dark\:bg-neutral-400\/90{background-color:#a3a3a3e6}.dark\:bg-neutral-400\/95{background-color:#a3a3a3f2}.dark\:bg-neutral-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.dark\:bg-neutral-50\/0{background-color:#fafafa00}.dark\:bg-neutral-50\/10{background-color:#fafafa1a}.dark\:bg-neutral-50\/100{background-color:#fafafa}.dark\:bg-neutral-50\/15{background-color:#fafafa26}.dark\:bg-neutral-50\/20{background-color:#fafafa33}.dark\:bg-neutral-50\/25{background-color:#fafafa40}.dark\:bg-neutral-50\/30{background-color:#fafafa4d}.dark\:bg-neutral-50\/35{background-color:#fafafa59}.dark\:bg-neutral-50\/40{background-color:#fafafa66}.dark\:bg-neutral-50\/45{background-color:#fafafa73}.dark\:bg-neutral-50\/5{background-color:#fafafa0d}.dark\:bg-neutral-50\/50{background-color:#fafafa80}.dark\:bg-neutral-50\/55{background-color:#fafafa8c}.dark\:bg-neutral-50\/60{background-color:#fafafa99}.dark\:bg-neutral-50\/65{background-color:#fafafaa6}.dark\:bg-neutral-50\/70{background-color:#fafafab3}.dark\:bg-neutral-50\/75{background-color:#fafafabf}.dark\:bg-neutral-50\/80{background-color:#fafafacc}.dark\:bg-neutral-50\/85{background-color:#fafafad9}.dark\:bg-neutral-50\/90{background-color:#fafafae6}.dark\:bg-neutral-50\/95{background-color:#fafafaf2}.dark\:bg-neutral-500{--tw-bg-opacity:1;background-color:rgb(115 115 115/var(--tw-bg-opacity))}.dark\:bg-neutral-500\/0{background-color:#73737300}.dark\:bg-neutral-500\/10{background-color:#7373731a}.dark\:bg-neutral-500\/100{background-color:#737373}.dark\:bg-neutral-500\/15{background-color:#73737326}.dark\:bg-neutral-500\/20{background-color:#73737333}.dark\:bg-neutral-500\/25{background-color:#73737340}.dark\:bg-neutral-500\/30{background-color:#7373734d}.dark\:bg-neutral-500\/35{background-color:#73737359}.dark\:bg-neutral-500\/40{background-color:#73737366}.dark\:bg-neutral-500\/45{background-color:#73737373}.dark\:bg-neutral-500\/5{background-color:#7373730d}.dark\:bg-neutral-500\/50{background-color:#73737380}.dark\:bg-neutral-500\/55{background-color:#7373738c}.dark\:bg-neutral-500\/60{background-color:#73737399}.dark\:bg-neutral-500\/65{background-color:#737373a6}.dark\:bg-neutral-500\/70{background-color:#737373b3}.dark\:bg-neutral-500\/75{background-color:#737373bf}.dark\:bg-neutral-500\/80{background-color:#737373cc}.dark\:bg-neutral-500\/85{background-color:#737373d9}.dark\:bg-neutral-500\/90{background-color:#737373e6}.dark\:bg-neutral-500\/95{background-color:#737373f2}.dark\:bg-neutral-600{--tw-bg-opacity:1;background-color:rgb(82 82 82/var(--tw-bg-opacity))}.dark\:bg-neutral-600\/0{background-color:#52525200}.dark\:bg-neutral-600\/10{background-color:#5252521a}.dark\:bg-neutral-600\/100{background-color:#525252}.dark\:bg-neutral-600\/15{background-color:#52525226}.dark\:bg-neutral-600\/20{background-color:#52525233}.dark\:bg-neutral-600\/25{background-color:#52525240}.dark\:bg-neutral-600\/30{background-color:#5252524d}.dark\:bg-neutral-600\/35{background-color:#52525259}.dark\:bg-neutral-600\/40{background-color:#52525266}.dark\:bg-neutral-600\/45{background-color:#52525273}.dark\:bg-neutral-600\/5{background-color:#5252520d}.dark\:bg-neutral-600\/50{background-color:#52525280}.dark\:bg-neutral-600\/55{background-color:#5252528c}.dark\:bg-neutral-600\/60{background-color:#52525299}.dark\:bg-neutral-600\/65{background-color:#525252a6}.dark\:bg-neutral-600\/70{background-color:#525252b3}.dark\:bg-neutral-600\/75{background-color:#525252bf}.dark\:bg-neutral-600\/80{background-color:#525252cc}.dark\:bg-neutral-600\/85{background-color:#525252d9}.dark\:bg-neutral-600\/90{background-color:#525252e6}.dark\:bg-neutral-600\/95{background-color:#525252f2}.dark\:bg-neutral-700{--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity))}.dark\:bg-neutral-700\/0{background-color:#40404000}.dark\:bg-neutral-700\/10{background-color:#4040401a}.dark\:bg-neutral-700\/100{background-color:#404040}.dark\:bg-neutral-700\/15{background-color:#40404026}.dark\:bg-neutral-700\/20{background-color:#40404033}.dark\:bg-neutral-700\/25{background-color:#40404040}.dark\:bg-neutral-700\/30{background-color:#4040404d}.dark\:bg-neutral-700\/35{background-color:#40404059}.dark\:bg-neutral-700\/40{background-color:#40404066}.dark\:bg-neutral-700\/45{background-color:#40404073}.dark\:bg-neutral-700\/5{background-color:#4040400d}.dark\:bg-neutral-700\/50{background-color:#40404080}.dark\:bg-neutral-700\/55{background-color:#4040408c}.dark\:bg-neutral-700\/60{background-color:#40404099}.dark\:bg-neutral-700\/65{background-color:#404040a6}.dark\:bg-neutral-700\/70{background-color:#404040b3}.dark\:bg-neutral-700\/75{background-color:#404040bf}.dark\:bg-neutral-700\/80{background-color:#404040cc}.dark\:bg-neutral-700\/85{background-color:#404040d9}.dark\:bg-neutral-700\/90{background-color:#404040e6}.dark\:bg-neutral-700\/95{background-color:#404040f2}.dark\:bg-neutral-800{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity))}.dark\:bg-neutral-800\/0{background-color:#26262600}.dark\:bg-neutral-800\/10{background-color:#2626261a}.dark\:bg-neutral-800\/100{background-color:#262626}.dark\:bg-neutral-800\/15{background-color:#26262626}.dark\:bg-neutral-800\/20{background-color:#26262633}.dark\:bg-neutral-800\/25{background-color:#26262640}.dark\:bg-neutral-800\/30{background-color:#2626264d}.dark\:bg-neutral-800\/35{background-color:#26262659}.dark\:bg-neutral-800\/40{background-color:#26262666}.dark\:bg-neutral-800\/45{background-color:#26262673}.dark\:bg-neutral-800\/5{background-color:#2626260d}.dark\:bg-neutral-800\/50{background-color:#26262680}.dark\:bg-neutral-800\/55{background-color:#2626268c}.dark\:bg-neutral-800\/60{background-color:#26262699}.dark\:bg-neutral-800\/65{background-color:#262626a6}.dark\:bg-neutral-800\/70{background-color:#262626b3}.dark\:bg-neutral-800\/75{background-color:#262626bf}.dark\:bg-neutral-800\/80{background-color:#262626cc}.dark\:bg-neutral-800\/85{background-color:#262626d9}.dark\:bg-neutral-800\/90{background-color:#262626e6}.dark\:bg-neutral-800\/95{background-color:#262626f2}.dark\:bg-neutral-900{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity))}.dark\:bg-neutral-900\/0{background-color:#17171700}.dark\:bg-neutral-900\/10{background-color:#1717171a}.dark\:bg-neutral-900\/100{background-color:#171717}.dark\:bg-neutral-900\/15{background-color:#17171726}.dark\:bg-neutral-900\/20{background-color:#17171733}.dark\:bg-neutral-900\/25{background-color:#17171740}.dark\:bg-neutral-900\/30{background-color:#1717174d}.dark\:bg-neutral-900\/35{background-color:#17171759}.dark\:bg-neutral-900\/40{background-color:#17171766}.dark\:bg-neutral-900\/45{background-color:#17171773}.dark\:bg-neutral-900\/5{background-color:#1717170d}.dark\:bg-neutral-900\/50{background-color:#17171780}.dark\:bg-neutral-900\/55{background-color:#1717178c}.dark\:bg-neutral-900\/60{background-color:#17171799}.dark\:bg-neutral-900\/65{background-color:#171717a6}.dark\:bg-neutral-900\/70{background-color:#171717b3}.dark\:bg-neutral-900\/75{background-color:#171717bf}.dark\:bg-neutral-900\/80{background-color:#171717cc}.dark\:bg-neutral-900\/85{background-color:#171717d9}.dark\:bg-neutral-900\/90{background-color:#171717e6}.dark\:bg-neutral-900\/95{background-color:#171717f2}.dark\:bg-neutral-950{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity))}.dark\:bg-neutral-950\/0{background-color:#0a0a0a00}.dark\:bg-neutral-950\/10{background-color:#0a0a0a1a}.dark\:bg-neutral-950\/100{background-color:#0a0a0a}.dark\:bg-neutral-950\/15{background-color:#0a0a0a26}.dark\:bg-neutral-950\/20{background-color:#0a0a0a33}.dark\:bg-neutral-950\/25{background-color:#0a0a0a40}.dark\:bg-neutral-950\/30{background-color:#0a0a0a4d}.dark\:bg-neutral-950\/35{background-color:#0a0a0a59}.dark\:bg-neutral-950\/40{background-color:#0a0a0a66}.dark\:bg-neutral-950\/45{background-color:#0a0a0a73}.dark\:bg-neutral-950\/5{background-color:#0a0a0a0d}.dark\:bg-neutral-950\/50{background-color:#0a0a0a80}.dark\:bg-neutral-950\/55{background-color:#0a0a0a8c}.dark\:bg-neutral-950\/60{background-color:#0a0a0a99}.dark\:bg-neutral-950\/65{background-color:#0a0a0aa6}.dark\:bg-neutral-950\/70{background-color:#0a0a0ab3}.dark\:bg-neutral-950\/75{background-color:#0a0a0abf}.dark\:bg-neutral-950\/80{background-color:#0a0a0acc}.dark\:bg-neutral-950\/85{background-color:#0a0a0ad9}.dark\:bg-neutral-950\/90{background-color:#0a0a0ae6}.dark\:bg-neutral-950\/95{background-color:#0a0a0af2}.dark\:text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.dark\:text-gray-100\/0{color:#f3f4f600}.dark\:text-gray-100\/10{color:#f3f4f61a}.dark\:text-gray-100\/100{color:#f3f4f6}.dark\:text-gray-100\/15{color:#f3f4f626}.dark\:text-gray-100\/20{color:#f3f4f633}.dark\:text-gray-100\/25{color:#f3f4f640}.dark\:text-gray-100\/30{color:#f3f4f64d}.dark\:text-gray-100\/35{color:#f3f4f659}.dark\:text-gray-100\/40{color:#f3f4f666}.dark\:text-gray-100\/45{color:#f3f4f673}.dark\:text-gray-100\/5{color:#f3f4f60d}.dark\:text-gray-100\/50{color:#f3f4f680}.dark\:text-gray-100\/55{color:#f3f4f68c}.dark\:text-gray-100\/60{color:#f3f4f699}.dark\:text-gray-100\/65{color:#f3f4f6a6}.dark\:text-gray-100\/70{color:#f3f4f6b3}.dark\:text-gray-100\/75{color:#f3f4f6bf}.dark\:text-gray-100\/80{color:#f3f4f6cc}.dark\:text-gray-100\/85{color:#f3f4f6d9}.dark\:text-gray-100\/90{color:#f3f4f6e6}.dark\:text-gray-100\/95{color:#f3f4f6f2}.dark\:text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.dark\:text-gray-200\/0{color:#e5e7eb00}.dark\:text-gray-200\/10{color:#e5e7eb1a}.dark\:text-gray-200\/100{color:#e5e7eb}.dark\:text-gray-200\/15{color:#e5e7eb26}.dark\:text-gray-200\/20{color:#e5e7eb33}.dark\:text-gray-200\/25{color:#e5e7eb40}.dark\:text-gray-200\/30{color:#e5e7eb4d}.dark\:text-gray-200\/35{color:#e5e7eb59}.dark\:text-gray-200\/40{color:#e5e7eb66}.dark\:text-gray-200\/45{color:#e5e7eb73}.dark\:text-gray-200\/5{color:#e5e7eb0d}.dark\:text-gray-200\/50{color:#e5e7eb80}.dark\:text-gray-200\/55{color:#e5e7eb8c}.dark\:text-gray-200\/60{color:#e5e7eb99}.dark\:text-gray-200\/65{color:#e5e7eba6}.dark\:text-gray-200\/70{color:#e5e7ebb3}.dark\:text-gray-200\/75{color:#e5e7ebbf}.dark\:text-gray-200\/80{color:#e5e7ebcc}.dark\:text-gray-200\/85{color:#e5e7ebd9}.dark\:text-gray-200\/90{color:#e5e7ebe6}.dark\:text-gray-200\/95{color:#e5e7ebf2}.dark\:text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.dark\:text-gray-300\/0{color:#d1d5db00}.dark\:text-gray-300\/10{color:#d1d5db1a}.dark\:text-gray-300\/100{color:#d1d5db}.dark\:text-gray-300\/15{color:#d1d5db26}.dark\:text-gray-300\/20{color:#d1d5db33}.dark\:text-gray-300\/25{color:#d1d5db40}.dark\:text-gray-300\/30{color:#d1d5db4d}.dark\:text-gray-300\/35{color:#d1d5db59}.dark\:text-gray-300\/40{color:#d1d5db66}.dark\:text-gray-300\/45{color:#d1d5db73}.dark\:text-gray-300\/5{color:#d1d5db0d}.dark\:text-gray-300\/50{color:#d1d5db80}.dark\:text-gray-300\/55{color:#d1d5db8c}.dark\:text-gray-300\/60{color:#d1d5db99}.dark\:text-gray-300\/65{color:#d1d5dba6}.dark\:text-gray-300\/70{color:#d1d5dbb3}.dark\:text-gray-300\/75{color:#d1d5dbbf}.dark\:text-gray-300\/80{color:#d1d5dbcc}.dark\:text-gray-300\/85{color:#d1d5dbd9}.dark\:text-gray-300\/90{color:#d1d5dbe6}.dark\:text-gray-300\/95{color:#d1d5dbf2}.dark\:text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.dark\:text-gray-400\/0{color:#9ca3af00}.dark\:text-gray-400\/10{color:#9ca3af1a}.dark\:text-gray-400\/100{color:#9ca3af}.dark\:text-gray-400\/15{color:#9ca3af26}.dark\:text-gray-400\/20{color:#9ca3af33}.dark\:text-gray-400\/25{color:#9ca3af40}.dark\:text-gray-400\/30{color:#9ca3af4d}.dark\:text-gray-400\/35{color:#9ca3af59}.dark\:text-gray-400\/40{color:#9ca3af66}.dark\:text-gray-400\/45{color:#9ca3af73}.dark\:text-gray-400\/5{color:#9ca3af0d}.dark\:text-gray-400\/50{color:#9ca3af80}.dark\:text-gray-400\/55{color:#9ca3af8c}.dark\:text-gray-400\/60{color:#9ca3af99}.dark\:text-gray-400\/65{color:#9ca3afa6}.dark\:text-gray-400\/70{color:#9ca3afb3}.dark\:text-gray-400\/75{color:#9ca3afbf}.dark\:text-gray-400\/80{color:#9ca3afcc}.dark\:text-gray-400\/85{color:#9ca3afd9}.dark\:text-gray-400\/90{color:#9ca3afe6}.dark\:text-gray-400\/95{color:#9ca3aff2}.dark\:text-gray-50{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}.dark\:text-gray-50\/0{color:#f9fafb00}.dark\:text-gray-50\/10{color:#f9fafb1a}.dark\:text-gray-50\/100{color:#f9fafb}.dark\:text-gray-50\/15{color:#f9fafb26}.dark\:text-gray-50\/20{color:#f9fafb33}.dark\:text-gray-50\/25{color:#f9fafb40}.dark\:text-gray-50\/30{color:#f9fafb4d}.dark\:text-gray-50\/35{color:#f9fafb59}.dark\:text-gray-50\/40{color:#f9fafb66}.dark\:text-gray-50\/45{color:#f9fafb73}.dark\:text-gray-50\/5{color:#f9fafb0d}.dark\:text-gray-50\/50{color:#f9fafb80}.dark\:text-gray-50\/55{color:#f9fafb8c}.dark\:text-gray-50\/60{color:#f9fafb99}.dark\:text-gray-50\/65{color:#f9fafba6}.dark\:text-gray-50\/70{color:#f9fafbb3}.dark\:text-gray-50\/75{color:#f9fafbbf}.dark\:text-gray-50\/80{color:#f9fafbcc}.dark\:text-gray-50\/85{color:#f9fafbd9}.dark\:text-gray-50\/90{color:#f9fafbe6}.dark\:text-gray-50\/95{color:#f9fafbf2}.dark\:text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.dark\:text-gray-500\/0{color:#6b728000}.dark\:text-gray-500\/10{color:#6b72801a}.dark\:text-gray-500\/100{color:#6b7280}.dark\:text-gray-500\/15{color:#6b728026}.dark\:text-gray-500\/20{color:#6b728033}.dark\:text-gray-500\/25{color:#6b728040}.dark\:text-gray-500\/30{color:#6b72804d}.dark\:text-gray-500\/35{color:#6b728059}.dark\:text-gray-500\/40{color:#6b728066}.dark\:text-gray-500\/45{color:#6b728073}.dark\:text-gray-500\/5{color:#6b72800d}.dark\:text-gray-500\/50{color:#6b728080}.dark\:text-gray-500\/55{color:#6b72808c}.dark\:text-gray-500\/60{color:#6b728099}.dark\:text-gray-500\/65{color:#6b7280a6}.dark\:text-gray-500\/70{color:#6b7280b3}.dark\:text-gray-500\/75{color:#6b7280bf}.dark\:text-gray-500\/80{color:#6b7280cc}.dark\:text-gray-500\/85{color:#6b7280d9}.dark\:text-gray-500\/90{color:#6b7280e6}.dark\:text-gray-500\/95{color:#6b7280f2}.dark\:text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.dark\:text-gray-600\/0{color:#4b556300}.dark\:text-gray-600\/10{color:#4b55631a}.dark\:text-gray-600\/100{color:#4b5563}.dark\:text-gray-600\/15{color:#4b556326}.dark\:text-gray-600\/20{color:#4b556333}.dark\:text-gray-600\/25{color:#4b556340}.dark\:text-gray-600\/30{color:#4b55634d}.dark\:text-gray-600\/35{color:#4b556359}.dark\:text-gray-600\/40{color:#4b556366}.dark\:text-gray-600\/45{color:#4b556373}.dark\:text-gray-600\/5{color:#4b55630d}.dark\:text-gray-600\/50{color:#4b556380}.dark\:text-gray-600\/55{color:#4b55638c}.dark\:text-gray-600\/60{color:#4b556399}.dark\:text-gray-600\/65{color:#4b5563a6}.dark\:text-gray-600\/70{color:#4b5563b3}.dark\:text-gray-600\/75{color:#4b5563bf}.dark\:text-gray-600\/80{color:#4b5563cc}.dark\:text-gray-600\/85{color:#4b5563d9}.dark\:text-gray-600\/90{color:#4b5563e6}.dark\:text-gray-600\/95{color:#4b5563f2}.dark\:text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.dark\:text-gray-700\/0{color:#37415100}.dark\:text-gray-700\/10{color:#3741511a}.dark\:text-gray-700\/100{color:#374151}.dark\:text-gray-700\/15{color:#37415126}.dark\:text-gray-700\/20{color:#37415133}.dark\:text-gray-700\/25{color:#37415140}.dark\:text-gray-700\/30{color:#3741514d}.dark\:text-gray-700\/35{color:#37415159}.dark\:text-gray-700\/40{color:#37415166}.dark\:text-gray-700\/45{color:#37415173}.dark\:text-gray-700\/5{color:#3741510d}.dark\:text-gray-700\/50{color:#37415180}.dark\:text-gray-700\/55{color:#3741518c}.dark\:text-gray-700\/60{color:#37415199}.dark\:text-gray-700\/65{color:#374151a6}.dark\:text-gray-700\/70{color:#374151b3}.dark\:text-gray-700\/75{color:#374151bf}.dark\:text-gray-700\/80{color:#374151cc}.dark\:text-gray-700\/85{color:#374151d9}.dark\:text-gray-700\/90{color:#374151e6}.dark\:text-gray-700\/95{color:#374151f2}.dark\:text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.dark\:text-gray-800\/0{color:#1f293700}.dark\:text-gray-800\/10{color:#1f29371a}.dark\:text-gray-800\/100{color:#1f2937}.dark\:text-gray-800\/15{color:#1f293726}.dark\:text-gray-800\/20{color:#1f293733}.dark\:text-gray-800\/25{color:#1f293740}.dark\:text-gray-800\/30{color:#1f29374d}.dark\:text-gray-800\/35{color:#1f293759}.dark\:text-gray-800\/40{color:#1f293766}.dark\:text-gray-800\/45{color:#1f293773}.dark\:text-gray-800\/5{color:#1f29370d}.dark\:text-gray-800\/50{color:#1f293780}.dark\:text-gray-800\/55{color:#1f29378c}.dark\:text-gray-800\/60{color:#1f293799}.dark\:text-gray-800\/65{color:#1f2937a6}.dark\:text-gray-800\/70{color:#1f2937b3}.dark\:text-gray-800\/75{color:#1f2937bf}.dark\:text-gray-800\/80{color:#1f2937cc}.dark\:text-gray-800\/85{color:#1f2937d9}.dark\:text-gray-800\/90{color:#1f2937e6}.dark\:text-gray-800\/95{color:#1f2937f2}.dark\:text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.dark\:text-gray-900\/0{color:#11182700}.dark\:text-gray-900\/10{color:#1118271a}.dark\:text-gray-900\/100{color:#111827}.dark\:text-gray-900\/15{color:#11182726}.dark\:text-gray-900\/20{color:#11182733}.dark\:text-gray-900\/25{color:#11182740}.dark\:text-gray-900\/30{color:#1118274d}.dark\:text-gray-900\/35{color:#11182759}.dark\:text-gray-900\/40{color:#11182766}.dark\:text-gray-900\/45{color:#11182773}.dark\:text-gray-900\/5{color:#1118270d}.dark\:text-gray-900\/50{color:#11182780}.dark\:text-gray-900\/55{color:#1118278c}.dark\:text-gray-900\/60{color:#11182799}.dark\:text-gray-900\/65{color:#111827a6}.dark\:text-gray-900\/70{color:#111827b3}.dark\:text-gray-900\/75{color:#111827bf}.dark\:text-gray-900\/80{color:#111827cc}.dark\:text-gray-900\/85{color:#111827d9}.dark\:text-gray-900\/90{color:#111827e6}.dark\:text-gray-900\/95{color:#111827f2}.dark\:text-gray-950{--tw-text-opacity:1;color:rgb(3 7 18/var(--tw-text-opacity))}.dark\:text-gray-950\/0{color:#03071200}.dark\:text-gray-950\/10{color:#0307121a}.dark\:text-gray-950\/100{color:#030712}.dark\:text-gray-950\/15{color:#03071226}.dark\:text-gray-950\/20{color:#03071233}.dark\:text-gray-950\/25{color:#03071240}.dark\:text-gray-950\/30{color:#0307124d}.dark\:text-gray-950\/35{color:#03071259}.dark\:text-gray-950\/40{color:#03071266}.dark\:text-gray-950\/45{color:#03071273}.dark\:text-gray-950\/5{color:#0307120d}.dark\:text-gray-950\/50{color:#03071280}.dark\:text-gray-950\/55{color:#0307128c}.dark\:text-gray-950\/60{color:#03071299}.dark\:text-gray-950\/65{color:#030712a6}.dark\:text-gray-950\/70{color:#030712b3}.dark\:text-gray-950\/75{color:#030712bf}.dark\:text-gray-950\/80{color:#030712cc}.dark\:text-gray-950\/85{color:#030712d9}.dark\:text-gray-950\/90{color:#030712e6}.dark\:text-gray-950\/95{color:#030712f2}.dark\:text-neutral-100{--tw-text-opacity:1;color:rgb(245 245 245/var(--tw-text-opacity))}.dark\:text-neutral-100\/0{color:#f5f5f500}.dark\:text-neutral-100\/10{color:#f5f5f51a}.dark\:text-neutral-100\/100{color:#f5f5f5}.dark\:text-neutral-100\/15{color:#f5f5f526}.dark\:text-neutral-100\/20{color:#f5f5f533}.dark\:text-neutral-100\/25{color:#f5f5f540}.dark\:text-neutral-100\/30{color:#f5f5f54d}.dark\:text-neutral-100\/35{color:#f5f5f559}.dark\:text-neutral-100\/40{color:#f5f5f566}.dark\:text-neutral-100\/45{color:#f5f5f573}.dark\:text-neutral-100\/5{color:#f5f5f50d}.dark\:text-neutral-100\/50{color:#f5f5f580}.dark\:text-neutral-100\/55{color:#f5f5f58c}.dark\:text-neutral-100\/60{color:#f5f5f599}.dark\:text-neutral-100\/65{color:#f5f5f5a6}.dark\:text-neutral-100\/70{color:#f5f5f5b3}.dark\:text-neutral-100\/75{color:#f5f5f5bf}.dark\:text-neutral-100\/80{color:#f5f5f5cc}.dark\:text-neutral-100\/85{color:#f5f5f5d9}.dark\:text-neutral-100\/90{color:#f5f5f5e6}.dark\:text-neutral-100\/95{color:#f5f5f5f2}.dark\:text-neutral-200{--tw-text-opacity:1;color:rgb(229 229 229/var(--tw-text-opacity))}.dark\:text-neutral-200\/0{color:#e5e5e500}.dark\:text-neutral-200\/10{color:#e5e5e51a}.dark\:text-neutral-200\/100{color:#e5e5e5}.dark\:text-neutral-200\/15{color:#e5e5e526}.dark\:text-neutral-200\/20{color:#e5e5e533}.dark\:text-neutral-200\/25{color:#e5e5e540}.dark\:text-neutral-200\/30{color:#e5e5e54d}.dark\:text-neutral-200\/35{color:#e5e5e559}.dark\:text-neutral-200\/40{color:#e5e5e566}.dark\:text-neutral-200\/45{color:#e5e5e573}.dark\:text-neutral-200\/5{color:#e5e5e50d}.dark\:text-neutral-200\/50{color:#e5e5e580}.dark\:text-neutral-200\/55{color:#e5e5e58c}.dark\:text-neutral-200\/60{color:#e5e5e599}.dark\:text-neutral-200\/65{color:#e5e5e5a6}.dark\:text-neutral-200\/70{color:#e5e5e5b3}.dark\:text-neutral-200\/75{color:#e5e5e5bf}.dark\:text-neutral-200\/80{color:#e5e5e5cc}.dark\:text-neutral-200\/85{color:#e5e5e5d9}.dark\:text-neutral-200\/90{color:#e5e5e5e6}.dark\:text-neutral-200\/95{color:#e5e5e5f2}.dark\:text-neutral-300{--tw-text-opacity:1;color:rgb(212 212 212/var(--tw-text-opacity))}.dark\:text-neutral-300\/0{color:#d4d4d400}.dark\:text-neutral-300\/10{color:#d4d4d41a}.dark\:text-neutral-300\/100{color:#d4d4d4}.dark\:text-neutral-300\/15{color:#d4d4d426}.dark\:text-neutral-300\/20{color:#d4d4d433}.dark\:text-neutral-300\/25{color:#d4d4d440}.dark\:text-neutral-300\/30{color:#d4d4d44d}.dark\:text-neutral-300\/35{color:#d4d4d459}.dark\:text-neutral-300\/40{color:#d4d4d466}.dark\:text-neutral-300\/45{color:#d4d4d473}.dark\:text-neutral-300\/5{color:#d4d4d40d}.dark\:text-neutral-300\/50{color:#d4d4d480}.dark\:text-neutral-300\/55{color:#d4d4d48c}.dark\:text-neutral-300\/60{color:#d4d4d499}.dark\:text-neutral-300\/65{color:#d4d4d4a6}.dark\:text-neutral-300\/70{color:#d4d4d4b3}.dark\:text-neutral-300\/75{color:#d4d4d4bf}.dark\:text-neutral-300\/80{color:#d4d4d4cc}.dark\:text-neutral-300\/85{color:#d4d4d4d9}.dark\:text-neutral-300\/90{color:#d4d4d4e6}.dark\:text-neutral-300\/95{color:#d4d4d4f2}.dark\:text-neutral-400{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity))}.dark\:text-neutral-400\/0{color:#a3a3a300}.dark\:text-neutral-400\/10{color:#a3a3a31a}.dark\:text-neutral-400\/100{color:#a3a3a3}.dark\:text-neutral-400\/15{color:#a3a3a326}.dark\:text-neutral-400\/20{color:#a3a3a333}.dark\:text-neutral-400\/25{color:#a3a3a340}.dark\:text-neutral-400\/30{color:#a3a3a34d}.dark\:text-neutral-400\/35{color:#a3a3a359}.dark\:text-neutral-400\/40{color:#a3a3a366}.dark\:text-neutral-400\/45{color:#a3a3a373}.dark\:text-neutral-400\/5{color:#a3a3a30d}.dark\:text-neutral-400\/50{color:#a3a3a380}.dark\:text-neutral-400\/55{color:#a3a3a38c}.dark\:text-neutral-400\/60{color:#a3a3a399}.dark\:text-neutral-400\/65{color:#a3a3a3a6}.dark\:text-neutral-400\/70{color:#a3a3a3b3}.dark\:text-neutral-400\/75{color:#a3a3a3bf}.dark\:text-neutral-400\/80{color:#a3a3a3cc}.dark\:text-neutral-400\/85{color:#a3a3a3d9}.dark\:text-neutral-400\/90{color:#a3a3a3e6}.dark\:text-neutral-400\/95{color:#a3a3a3f2}.dark\:text-neutral-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity))}.dark\:text-neutral-50\/0{color:#fafafa00}.dark\:text-neutral-50\/10{color:#fafafa1a}.dark\:text-neutral-50\/100{color:#fafafa}.dark\:text-neutral-50\/15{color:#fafafa26}.dark\:text-neutral-50\/20{color:#fafafa33}.dark\:text-neutral-50\/25{color:#fafafa40}.dark\:text-neutral-50\/30{color:#fafafa4d}.dark\:text-neutral-50\/35{color:#fafafa59}.dark\:text-neutral-50\/40{color:#fafafa66}.dark\:text-neutral-50\/45{color:#fafafa73}.dark\:text-neutral-50\/5{color:#fafafa0d}.dark\:text-neutral-50\/50{color:#fafafa80}.dark\:text-neutral-50\/55{color:#fafafa8c}.dark\:text-neutral-50\/60{color:#fafafa99}.dark\:text-neutral-50\/65{color:#fafafaa6}.dark\:text-neutral-50\/70{color:#fafafab3}.dark\:text-neutral-50\/75{color:#fafafabf}.dark\:text-neutral-50\/80{color:#fafafacc}.dark\:text-neutral-50\/85{color:#fafafad9}.dark\:text-neutral-50\/90{color:#fafafae6}.dark\:text-neutral-50\/95{color:#fafafaf2}.dark\:text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity))}.dark\:text-neutral-500\/0{color:#73737300}.dark\:text-neutral-500\/10{color:#7373731a}.dark\:text-neutral-500\/100{color:#737373}.dark\:text-neutral-500\/15{color:#73737326}.dark\:text-neutral-500\/20{color:#73737333}.dark\:text-neutral-500\/25{color:#73737340}.dark\:text-neutral-500\/30{color:#7373734d}.dark\:text-neutral-500\/35{color:#73737359}.dark\:text-neutral-500\/40{color:#73737366}.dark\:text-neutral-500\/45{color:#73737373}.dark\:text-neutral-500\/5{color:#7373730d}.dark\:text-neutral-500\/50{color:#73737380}.dark\:text-neutral-500\/55{color:#7373738c}.dark\:text-neutral-500\/60{color:#73737399}.dark\:text-neutral-500\/65{color:#737373a6}.dark\:text-neutral-500\/70{color:#737373b3}.dark\:text-neutral-500\/75{color:#737373bf}.dark\:text-neutral-500\/80{color:#737373cc}.dark\:text-neutral-500\/85{color:#737373d9}.dark\:text-neutral-500\/90{color:#737373e6}.dark\:text-neutral-500\/95{color:#737373f2}.dark\:text-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity))}.dark\:text-neutral-600\/0{color:#52525200}.dark\:text-neutral-600\/10{color:#5252521a}.dark\:text-neutral-600\/100{color:#525252}.dark\:text-neutral-600\/15{color:#52525226}.dark\:text-neutral-600\/20{color:#52525233}.dark\:text-neutral-600\/25{color:#52525240}.dark\:text-neutral-600\/30{color:#5252524d}.dark\:text-neutral-600\/35{color:#52525259}.dark\:text-neutral-600\/40{color:#52525266}.dark\:text-neutral-600\/45{color:#52525273}.dark\:text-neutral-600\/5{color:#5252520d}.dark\:text-neutral-600\/50{color:#52525280}.dark\:text-neutral-600\/55{color:#5252528c}.dark\:text-neutral-600\/60{color:#52525299}.dark\:text-neutral-600\/65{color:#525252a6}.dark\:text-neutral-600\/70{color:#525252b3}.dark\:text-neutral-600\/75{color:#525252bf}.dark\:text-neutral-600\/80{color:#525252cc}.dark\:text-neutral-600\/85{color:#525252d9}.dark\:text-neutral-600\/90{color:#525252e6}.dark\:text-neutral-600\/95{color:#525252f2}.dark\:text-neutral-700{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity))}.dark\:text-neutral-700\/0{color:#40404000}.dark\:text-neutral-700\/10{color:#4040401a}.dark\:text-neutral-700\/100{color:#404040}.dark\:text-neutral-700\/15{color:#40404026}.dark\:text-neutral-700\/20{color:#40404033}.dark\:text-neutral-700\/25{color:#40404040}.dark\:text-neutral-700\/30{color:#4040404d}.dark\:text-neutral-700\/35{color:#40404059}.dark\:text-neutral-700\/40{color:#40404066}.dark\:text-neutral-700\/45{color:#40404073}.dark\:text-neutral-700\/5{color:#4040400d}.dark\:text-neutral-700\/50{color:#40404080}.dark\:text-neutral-700\/55{color:#4040408c}.dark\:text-neutral-700\/60{color:#40404099}.dark\:text-neutral-700\/65{color:#404040a6}.dark\:text-neutral-700\/70{color:#404040b3}.dark\:text-neutral-700\/75{color:#404040bf}.dark\:text-neutral-700\/80{color:#404040cc}.dark\:text-neutral-700\/85{color:#404040d9}.dark\:text-neutral-700\/90{color:#404040e6}.dark\:text-neutral-700\/95{color:#404040f2}.dark\:text-neutral-800{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity))}.dark\:text-neutral-800\/0{color:#26262600}.dark\:text-neutral-800\/10{color:#2626261a}.dark\:text-neutral-800\/100{color:#262626}.dark\:text-neutral-800\/15{color:#26262626}.dark\:text-neutral-800\/20{color:#26262633}.dark\:text-neutral-800\/25{color:#26262640}.dark\:text-neutral-800\/30{color:#2626264d}.dark\:text-neutral-800\/35{color:#26262659}.dark\:text-neutral-800\/40{color:#26262666}.dark\:text-neutral-800\/45{color:#26262673}.dark\:text-neutral-800\/5{color:#2626260d}.dark\:text-neutral-800\/50{color:#26262680}.dark\:text-neutral-800\/55{color:#2626268c}.dark\:text-neutral-800\/60{color:#26262699}.dark\:text-neutral-800\/65{color:#262626a6}.dark\:text-neutral-800\/70{color:#262626b3}.dark\:text-neutral-800\/75{color:#262626bf}.dark\:text-neutral-800\/80{color:#262626cc}.dark\:text-neutral-800\/85{color:#262626d9}.dark\:text-neutral-800\/90{color:#262626e6}.dark\:text-neutral-800\/95{color:#262626f2}.dark\:text-neutral-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity))}.dark\:text-neutral-900\/0{color:#17171700}.dark\:text-neutral-900\/10{color:#1717171a}.dark\:text-neutral-900\/100{color:#171717}.dark\:text-neutral-900\/15{color:#17171726}.dark\:text-neutral-900\/20{color:#17171733}.dark\:text-neutral-900\/25{color:#17171740}.dark\:text-neutral-900\/30{color:#1717174d}.dark\:text-neutral-900\/35{color:#17171759}.dark\:text-neutral-900\/40{color:#17171766}.dark\:text-neutral-900\/45{color:#17171773}.dark\:text-neutral-900\/5{color:#1717170d}.dark\:text-neutral-900\/50{color:#17171780}.dark\:text-neutral-900\/55{color:#1717178c}.dark\:text-neutral-900\/60{color:#17171799}.dark\:text-neutral-900\/65{color:#171717a6}.dark\:text-neutral-900\/70{color:#171717b3}.dark\:text-neutral-900\/75{color:#171717bf}.dark\:text-neutral-900\/80{color:#171717cc}.dark\:text-neutral-900\/85{color:#171717d9}.dark\:text-neutral-900\/90{color:#171717e6}.dark\:text-neutral-900\/95{color:#171717f2}.dark\:text-neutral-950{--tw-text-opacity:1;color:rgb(10 10 10/var(--tw-text-opacity))}.dark\:text-neutral-950\/0{color:#0a0a0a00}.dark\:text-neutral-950\/10{color:#0a0a0a1a}.dark\:text-neutral-950\/100{color:#0a0a0a}.dark\:text-neutral-950\/15{color:#0a0a0a26}.dark\:text-neutral-950\/20{color:#0a0a0a33}.dark\:text-neutral-950\/25{color:#0a0a0a40}.dark\:text-neutral-950\/30{color:#0a0a0a4d}.dark\:text-neutral-950\/35{color:#0a0a0a59}.dark\:text-neutral-950\/40{color:#0a0a0a66}.dark\:text-neutral-950\/45{color:#0a0a0a73}.dark\:text-neutral-950\/5{color:#0a0a0a0d}.dark\:text-neutral-950\/50{color:#0a0a0a80}.dark\:text-neutral-950\/55{color:#0a0a0a8c}.dark\:text-neutral-950\/60{color:#0a0a0a99}.dark\:text-neutral-950\/65{color:#0a0a0aa6}.dark\:text-neutral-950\/70{color:#0a0a0ab3}.dark\:text-neutral-950\/75{color:#0a0a0abf}.dark\:text-neutral-950\/80{color:#0a0a0acc}.dark\:text-neutral-950\/85{color:#0a0a0ad9}.dark\:text-neutral-950\/90{color:#0a0a0ae6}.dark\:text-neutral-950\/95{color:#0a0a0af2}.dark\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}} \ No newline at end of file diff --git a/src/static/template.liquid b/src/static/template.liquid deleted file mode 100644 index 01e17bf..0000000 --- a/src/static/template.liquid +++ /dev/null @@ -1,294 +0,0 @@ - - - - - - - - - - Cup - - - - - -
-
-
-
-

Cup

- - - - - - - - - - - - - - - - -
-
-
- {% for metric in metrics %} -
-
-
- {{ metric.name }} -
-
-
- {{ metric.value }} -
- {% if metric.name == 'Monitored images' %} - - - - {% elsif metric.name == 'Up to date' %} - - - - - {% elsif metric.name == 'Updates available' %} - - - - - {% elsif metric.name == 'Unknown' %} - - - - - {% endif %} -
-
-
- {% endfor %} -
-
-
-
-

Last checked: {{ last_updated }}

- -
-
    - {% for image in images %} -
  • - - - - - - - - {{ image.name }} - {% if image.has_update == 'false' %} - - - - - {% elsif image.has_update == 'true' %} - - - - - {% elsif image.has_update == 'null' %} - - - - - {% endif %} -
  • - {% endfor %} -
-
-
-
-
- - diff --git a/tailwind.config.js b/tailwind.config.js deleted file mode 100644 index 0a94884..0000000 --- a/tailwind.config.js +++ /dev/null @@ -1,17 +0,0 @@ -/** @type {import('tailwindcss').Config} */ -module.exports = { - content: [ - "src/static/template.liquid" - ], - theme: { - extend: {}, - }, - plugins: [], - safelist: [ - { - pattern: /(bg|text|divide)-(gray|neutral)-.+/, - variants: ["dark"] - } - ] -} - diff --git a/web/.gitignore b/web/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/web/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/web/.tool-versions b/web/.tool-versions new file mode 100644 index 0000000..cc1993f --- /dev/null +++ b/web/.tool-versions @@ -0,0 +1 @@ +nodejs 21.6.2 diff --git a/web/README.md b/web/README.md new file mode 100644 index 0000000..37dc707 --- /dev/null +++ b/web/README.md @@ -0,0 +1,9 @@ +# Cup web frontend + +This is the Cup web frontend, built with Vite and React. Once it's built, Cup modifies a few things (notably the theme) and sends the result to the client. + +# Development + +Requirements: Bun, Node.js 20+ + +Install dependencies with `bun install` and start the development server with `bun dev`. diff --git a/web/bun.lockb b/web/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..b7674cd4c2994695984454eb7fbfb07c38ceea0d GIT binary patch literal 104922 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

#wo+bR%H<*gV_w` zr9h+n1U0Mey=ktu3(e

m04mrW0s4H*VPF+mur*IFJU)v+Qqtnc;IF;W7D+HMOIr z0$U7_$g394wLgAkpL=yih9<6R+P8ve`dVj!0*8tfqr)OJ(Xo0bx-B&N#Awa5@rCNf z)Ssd`K?-UOuo|}O_|@IlW^~uqLKPv^1filZe<4hCNpa-YRae`xNQdj0W}|5#f3vT0 zZ(-XbWvCR$uVI5of2r6XvKc|szpQq7-<9Jqz9Wf3b1m4=a=^{L23glsGLpvZSh?Jb z0kt|LO#Q~B!=Tk}!j^(_t7EH-(o+q=K}$vHGy{kHx=X59e74C4IXG=tj=xADM2Y*& zx$S>I*Zo#HBg3G*gA4|^vEIWP+S!-avj&H>hHmyv*)qN8zUe}bk1H^Ki=p)c_(8Z_ zDx~AAo9M=#9Nc0G`6!0bWS$~=44~}>8uh_9;u`;IKPZmuMl~3mG;pW{$9K3=!|}rD zZkz_lPiS~>v^c~^(yYDrc02y{-)0{iYdPK4_2xz9L1~FkB-Z zI$kz)o<=feCfw>uxI*e1EzoP&rC*16E!o*Fbif)P(Db1}ywBVnhi;}}UP2}ywDK+3 z)_+pzX3Kl6-npJZGoxBE030gqc6GXY4WI4k#BdlJ6g_e%dK6H2zfHwJog9Dli_&4M zaM8Wyrf40ehTx#w$VXd%L;dNiuikft zR4!x5XuxpxgF`j=Wrey%<;OOnu?saXkQv#Eozptq9@D_CbWRT@9mW%juqbpZIzNSs zo@k{6>HI#rjX)^PK8r{PzN0+9zDkcL{dH$Id<5Ovu>MxW2nGFuE%c+Dnsr#yXymv` z#!OC`mah=4v8GEtTJ$XEU&j80+Q5>=Aw{FDKz*PdP`N%zYj#xaO$CMYw45Il-P8VF z=NR8X8&brW9J&=Uf}~ysGC>l#p9I&B>kO7^&-R@Oi(=$LWm*Svr1i_7<4fG1^*I9$ zRUfjbTqKq#fNFTX)PdAzb(m6M#)%ThQ2DqGeU&N=mww1n+Fcf?nBCsbp6); z;7|(-PJJL!+pFVl-tTOwO(($NMqFXw5L)wA-G6)?WcZ$uVf?xX4*^=yrBL*Iu4o@E z+INbc2NyjDELyih=YX&_-t=H@TNgI?eI8tNI=|OOq$cg&b`Yh;EpR+Z} z-$%yI+K!C%NlIMoGyojxvruXU$I1+cSyL^d6d+T?y0W=N-Y+pUHCubW#`AERfx!={ z`B#LCHx!G-Y*o<9>8vy7!{N6 zMAejDco64BzC!~MaPEOae!WAt_T$OZHVRn{s4f)Y@#xNqSP2H&3l6Qu#?kk-KHH5q zS4=H|Cl*rYxLMl=$k1qTiaa3M)A0qh{#<+g3mmEoBTIQMv75S!W6<_3~B`9-K~5p zoxbZu9BSlE3)h-yT?(S%jg2++=$3+Xj71Eg_1eh^4VpWzY7gDm;ep^TIOHK6%kLI! z&Nw!e%MVIh`8y){yqB376`BsyRyA+ST4!}YM0oVCLA4kgm?5(QYj7x?aoZ*5o7=e1 z%$4j0YdU~K>ta7r+T@&(^zl(?fbnQZWH8>^cZe@L+424b292@x$ad_=VacL&<6%Mj z$}=)d8y`x8H~d*RJ^j3AT(i=Q3@IS!V#mrjA4}?&dB}SShXy|=G(WWDD-Z=o2Z_SO z{$Im$#=E_oy&I!j8r7h*fA1H-VRZYwF2r#Ck3)ObI-T{luMeAc0qX}bTs{50b&278 z^!HlAq{Ebt$j3)253OHkfl;mcuJMd+%ow(a_gT=o&_0V9^JPG{N+<=NseAfMZ!gd0 ztb=rZ*Faep3Podj&EyVj&011rZ7cZ;fkt&9tB-g@@A#%M;Gi|2(fV$Cwyj$GIm)MR#gn>B zI*ebZfJ5^i*U6b%Yr8v^Q=y&ZWJ-SVd7SlVvZ+cY%wG~r&iMYr<`)}=9L0OhsvX%; zZPDojNrR=Kc(bS|HFK1BVOy*$Fe3-pP3*whEycJ|se?m?-Uo;C#G*%oGRRQdJ3)W2 zOg3I?DWjViH5HNI=!0WqU?A()K<^5N2D?oHrz$v`DrEl3?R1q!-c(P)DPr9c9GgyT zI)`1QsoK9T)3}QB-rw_c6mgA#e+yUggSW>=g)Y68ahcLV^+7_jIrWm?-q>vz5h8LrOt0*7S2ejDL`%zf@! zZ7nN=R6|H1YiYC&3lEVa2DR}%9;wHc>m`)b*78J16@+Ny|WS9`t#N; zIhjJVwt*YK<1@OkrQmVW$~DU|=M}VO9Yj#O2U{8sex2Rg)KYgLIB1ipES{mE|RJ5;k^gQ8?C z3z-A9w`+rTsIb}L=AO(xyI6-_Y-xuqJg*lM*K+~VK_5f=Y6fu}i`nAgN0%jx($;cD z2ziqqu2h4&rFbnEQKbcq6EXjyUQ-SZtt^Z(H>q>1atRvUQY!|#6)}E;bqXB?P?amZ z2V`tev~JU!S^s|7P9#b*cc!%(dRKt)&Ps4d`@Pjq+`e$(*JE&)nVxmtZ|U@YvvU2w z(<9l{6($}0e40om@{#Y)*U&ru2<`kkfGYxbyM!fnmZh56_hNB5q=yvGyGTkguf4Ru?q;=Bfj{MxO;iwP2s;oVf6QhnI>jU6xDOIU9^hR034F3 zWxV1=;=#JLRUBJzsEu#(;>_7`m3vK5aa_Tn);Y-8s=`=BFYF~y=10bHb}cz_?e^2v zi&dP7;E>(U^q+tB(v`78RJ%=zwkX;LlF*GBBP;Q@`se=}SpZ|Lv zc2<OB6Qd1dC*S!{pLnzxLQ+l(&`6I{#KWjLO9fPRe(~weq<$4e^_Ottd?I?rPiY zTEh;6;dcP#_@zS6%XP=N`Z|5B1y3N`jJIx`p%qo}SC~jDi^RLHZi6m0&Tg@z$ux{% z$g>vwvT%@XcQTj@bgJ*leP;#v1?P=JFqWbCx7|+O??&KR zAI~RjhV<VIg?w=qrtq$eFI$REQ6&xIKWve6jsQLIUw? zinKW}KLg^JllUub$a#uFESH9cG1@VALRQp1Oyn(-$XiLpA;Ah(4^|l{=^qvrs%YD) zm0aQ{RfNf-O@c%5!;2;%az6xNa~)-*l~8prWcSyZg!v6ui2Wr#;Q*F}geW9JNpJ*) zc$)C?uv9o|MEJ;%2U}Ahm1=8M*HX@ps;)6i{uwb+(a8%kYD3kcU0>3VVZ6$M8pqz-{(alNBxoA&f2Ztzx{1CM47Uuavu#ktqd_gRSXoMBY8)Uh8!V1e z0uGTsfae!~j>c(~2gW`B6Bd{6JS^_{FR}7j7FhY7{}L--*#Rrx^Iu}|odZz($G=44 zxgLOcPk)KSb8F!6p8gVtbt9(A0EhSVPdH3<%)?=x{t1VvS$R0j(_i8!JqJw-aClFD ziKFxy7Kiurk2uH+^iksA=`V3qEh}JD4}XcGYO;Z%diYBe)?28R2a4+9FHuyT3{X@L ze~H4Hf-R-I`@h7<>k^?z-u+)o-l6TM3!v|A`Ry2%Z zzeQ2gX|NFh!`@)TO{?k0gA@_s z0_;3%fbAC?u7(>Fu8^y8jCceLKkueCp&?vkbS)}^PZnmflgoZ>) zNs7!Q(_k0ERn?yYx~u9$k$S;t3qe#lF=bkfpA<+iznsc_@`v-h>0h8>!orXd z{7=C7jif@(AO26!s)A9$s>1#WlC@->C#Y}>F#ZGZ0D zsFEu90*rqGXH8Abv#Lo@rBE36KTIaCZ7M94Jmxe+@P<2Zx-B~A6asEkno_(3&D%XeR3;riyelM)jnIHOxu>77LKx~)K ztcNgb5o+4*-9C?uTOmMJfUk#F@?jcS@inT*0Y^A>XR zwDgmULj5J!kcWLPqEM-jQ88E)7A_abgyN7Os3yVGosq?3PA(Vd}g1SB|f1@ z7V0lDG5tHUu%?DR*c-LQ#S~y6*~nM0G-9ODCu<}1E0$~=RbepSLUAi#1uV>&ob?z^ z4lC%sQa`La$wkpznQ+O<#rFQ;FkGZRRv3NodLSr-7RQCspwJLGUaAz}$|YEAx2IPK zGO0HfI87q)jg(j(g0)das3Ppof9$qlHt6GAH>nTaR)hp2O?q9xC5E>ArqIvg>q^3TC`zi}^+#PhK zcSY*+S)jdzbb%10&Ao3@W8J*!0QtOodOO3;ahZ*BLeymPvJiE}T_7gl3WPu%{KvjO zz-ED9vBU?>Hn!)Xg~HcR^kPGeo~lSdRz1K{nq3|rSMZV}&GH36F{--it<7&jfWUvm z7y=&)YLNe+u6tpGtDu16e9%|nm!6sQ);S6 zECeTkdQZ-vA#GKYPr|CFKdK$qJVJ`%qDp6E$Vc zeY?nt(N~O2E5f7}9U=}35#rnVt7!>Xv zCgG;MYP2qFO2L5qKGXOk6EmMr0f4zO8fY4P1}P9dNWpYinmPd9TnIwECm|IWQwHwM@&-+&gv^)2Cd|tS)w3F-F!7N9b7g9nCdH%*e1QxJ=E_KDsuu{*m+Y^o1zziE(7cc#QhUL@?USFg4l8 z7mqAM*;dLiMa$Tf4GtCsscU{!k@A2@f*I{=n!?~SYRXDL1O_HJFMz3x>;M>(%^;Cb z*_Jb%5z8nr(^r$pqJ@xV(M)8Y<^$^c%fgfdYGJ_`yl9@YvR~T+fxSVAYL-!cIS(o2 zEp*r1*B4yEA#1RUIVdxni$huG$HB5rFuqjMVCi85L*M07!PED$>J2EDFdyneh`WOr z8A`oWA!@POb2>6*$LH=Yz@9L6u0ajY;%iWWXh zqzF`Fm;y0@SRjM})iglLmuuvO%QEhms;X&qp|E8<${Q``!8tYe!UX^dtP%pMKnPQm znjAp66p7u&%zoCqRZTVKRLZa;6S)|Y%3G!*U`mHwy%b{0i^88>U}I_}^|*9Oq#F1_ zVk3n@LRGyE4ZXPY7Su1|a*^1)(zm8eKcuOdQ69bkG36~&7UgO%V;ie5pU`!}6sGfPBv?zrn{OGFpsPS6X>-0F!sGasxHx zOcQ$?w*fisPRO3Np{emK*%38gL!2L`Mi6k0c2)OOb^biKWDiV_k^!bbg)7mjZCE6da2_!EL zF!Jt^1& zFbjlCuY?uf;Bb5@p>DjG7Y8_b_sk?&Q-{c&0Ru7i2HvcBoXlItg&^+JuFj9wZS3D?gjT zNRRDq={+${nGM44dJUJb>+bA1^4!a9r2t-9V~Nxr!;KIz#^zFSpim|cS8`<`A|IL+ zqq|oIDI_v<=a?*G zb=26yidaumgT_Vx3VXw}HJU1p{FcvjHf~KgVFl=R6EqatgbPM$|K82W$yGc7>;`Z zhbjU86=9)>Dwmqvli$&CMnF;Cs!-I(94CqP#tj=(qmwkX->fst{tHE0O!+$U`BsSxfEsq_F5vq_AM- z{X5P9Q{NPFXEp(YyJPB*#useEArLeir9m&rkOJ&148<%9FRQq^jIXb;iGw?k2^%=o zeTBh`MVVm_aUvPiBF?ArD>PJurgd%WTB<1ERFI9*{Vg=0u!=?72 zfqrz>2n}Yjx~%;P@0q~VREE5G&^qt_ zj}}Y#8bg@>2oI&zC%Bj-C?tT}aEz|kH(Z7jZeRp-D%hG38iF20jc!FqAh9Aia0Sg( zm8TMrcu!1uX{uLwHp*u&?07-S$gi5*s0xp>7F&3X<7<*-ikw+WgRJU-*>I<6+{Z5% zE@h=Js+OoEc(*E2NU>X=ibqW@@<#+-{s2@L&BJn@%?Uu|B3QiDJQn3`O;8$x-Dbf| ziZxjyZ-4{Yy!$`u`-&Jb0f#q!LjLKu4dDs==n6>~_k{#+)P>y#?0G9R?#dUNIf;c1 zVxd~1Zb?Or6x3o*X34`r!~X{h7ey%uynG5X88!bcr^>lMHX5jLBEH@{38cY$Vn)K6 zdIUaFo|P%@N{cgt5ymNK;7mt2t6w6d7?7t6iPEr6eYM7U(TIx{k0AV?~Sm^6*BeF5|60NF>(1@Fklfj5$fw z!qn8%%*xUVdt#*FSQC)pEwwM&30mrb->Q}`G`&zM5ED8S2tg5PUi;xC4Fuj38cgn_ zB{fFiX9D8%sulWIZr^S`uJZJmj9dqRX8TFIL}LYK7&#()IDV|eNU~5Uf{!a z6@wMP$I84TE()NrUozu6X_XZJb756z9v1gGw~ABnlW2zHFOh|!9Z^&2MFS{}TM!t9 zPp6fVwf_jWpvp?zg5iIQ%Quh`lOOiCczk`>PuUsYDiHk7sH(zODw~I_V*M?80iRPM z7YP1aR8}!^eD1^mo*|T>|Bm^aZMhouw}@;e8GUeMP5!JaL;n_2)jTNiR3U$Xm4ELH z^{Cip{73bLX}FlQnLDO8*4WOn$zcJ!s8dKaO(WU&`m}^Drfr@q5_9e-JCJ7+!18FQ zkhxV??+eBSo=Q-NcU#y6qRAL| + + + + + + + + + Cup + + +

+ + + diff --git a/web/package.json b/web/package.json new file mode 100644 index 0000000..4ffb939 --- /dev/null +++ b/web/package.json @@ -0,0 +1,37 @@ +{ + "name": "web", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc -b && vite build", + "lint": "eslint .", + "preview": "vite preview", + "fmt": "prettier --write ." + }, + "dependencies": { + "@tabler/icons-react": "^3.14.0", + "date-fns": "^3.6.0", + "react": "^18.3.1", + "react-dom": "^18.3.1" + }, + "devDependencies": { + "@eslint/js": "^9.9.0", + "@types/node": "^22.5.1", + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", + "@vitejs/plugin-react-swc": "^3.5.0", + "autoprefixer": "^10.4.20", + "eslint": "^9.9.0", + "eslint-plugin-react-hooks": "^5.1.0-rc.0", + "eslint-plugin-react-refresh": "^0.4.9", + "globals": "^15.9.0", + "postcss": "^8.4.42", + "prettier": "^3.3.3", + "tailwindcss": "^3.4.10", + "typescript": "^5.5.3", + "typescript-eslint": "^8.0.1", + "vite": "^5.4.1" + } +} diff --git a/web/postcss.config.js b/web/postcss.config.js new file mode 100644 index 0000000..2aa7205 --- /dev/null +++ b/web/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/web/public/apple-touch-icon.png b/web/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ac6ec921024a44485de346584bb68284766d5f4f GIT binary patch literal 5872 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 + + + + + + + + + + + + + + + + + diff --git a/web/src/App.tsx b/web/src/App.tsx new file mode 100644 index 0000000..3f5ac7e --- /dev/null +++ b/web/src/App.tsx @@ -0,0 +1,78 @@ +import { MouseEvent, useState } from "react"; +import Logo from "./components/Logo"; +import Statistic from "./components/Statistic"; +import Image from "./components/Image"; +import { IconRefresh } from "@tabler/icons-react"; +import { LastChecked } from "./components/LastChecked"; +import Loading from "./components/Loading"; +import { Data } from "./types"; + +function App() { + const [data, setData] = useState(null); + const theme = "neutral"; // Stupid, I know but I want both the dev and prod to work easily. + if (!data) return ; + const refresh = (event: MouseEvent) => { + const btn = event.currentTarget as HTMLButtonElement; + btn.disabled = true; + + let request = new XMLHttpRequest(); + request.onload = function () { + if (request.status === 200) { + window.location.reload(); + } + }; + request.open( + "GET", + process.env.NODE_ENV === "production" + ? "/json" + : `http://${window.location.hostname}:8000/json`, + ); + request.send(); + }; + return ( +
+
+
+
+

+ Cup +

+ +
+
+
+ {Object.entries(data.metrics).map(([name, value]) => ( + + ))} +
+
+
+
+ + +
+
    + {Object.entries(data.images).map(([name, status]) => ( + + ))} +
+
+
+
+
+ ); +} + +export default App; diff --git a/web/src/components/Image.tsx b/web/src/components/Image.tsx new file mode 100644 index 0000000..24ad49c --- /dev/null +++ b/web/src/components/Image.tsx @@ -0,0 +1,30 @@ +import { + IconCircleArrowUpFilled, + IconCircleCheckFilled, + IconCube, + IconHelpCircleFilled, +} from "@tabler/icons-react"; + +export default function Image({ + name, + status, +}: { + name: string; + status: boolean | null; +}) { + return ( +
  • + + {name} + {status == false && ( + + )} + {status == true && ( + + )} + {status == null && ( + + )} +
  • + ); +} diff --git a/web/src/components/LastChecked.tsx b/web/src/components/LastChecked.tsx new file mode 100644 index 0000000..0401ac2 --- /dev/null +++ b/web/src/components/LastChecked.tsx @@ -0,0 +1,6 @@ +import { intlFormatDistance } from "date-fns/intlFormatDistance"; + +export function LastChecked({ datetime }: { datetime: string }) { + const date = intlFormatDistance(new Date(datetime), new Date()); + return

    Last checked: {date}

    ; +} diff --git a/web/src/components/Loading.tsx b/web/src/components/Loading.tsx new file mode 100644 index 0000000..d79c75b --- /dev/null +++ b/web/src/components/Loading.tsx @@ -0,0 +1,34 @@ +import { IconLoader2 } from "@tabler/icons-react"; +import { Data } from "../types"; +import Logo from "./Logo"; + +export default function Loading({ onLoad }: { onLoad: (data: Data) => void }) { + const theme = "neutral"; + fetch( + process.env.NODE_ENV === "production" + ? "/json" + : `http://${window.location.hostname}:8000/json`, + ).then((response) => response.json().then((data) => onLoad(data))); + return ( +
    +
    +
    +
    +

    + Cup +

    + +
    +
    + Loading +
    +
    +
    +
    + ); +} diff --git a/web/src/components/Logo.tsx b/web/src/components/Logo.tsx new file mode 100644 index 0000000..f53e9d5 --- /dev/null +++ b/web/src/components/Logo.tsx @@ -0,0 +1,54 @@ +export default function Logo() { + return ( + + + + + + + + + + + + + + + + + ); +} diff --git a/web/src/components/Statistic.tsx b/web/src/components/Statistic.tsx new file mode 100644 index 0000000..e6bda7d --- /dev/null +++ b/web/src/components/Statistic.tsx @@ -0,0 +1,48 @@ +import { + IconCircleArrowUpFilled, + IconCircleCheckFilled, + IconEyeFilled, + IconHelpCircleFilled, +} from "@tabler/icons-react"; + +export default function Statistic({ + name, + value, +}: { + name: string; + value: number; +}) { + const theme = "neutral"; + name = name.replaceAll("_", " "); + name = name.slice(0, 1).toUpperCase() + name.slice(1); // Capitalize name + return ( +
    +
    +
    + {name} +
    +
    +
    + {value} +
    + {name == "Monitored images" && ( + + )} + {name == "Up to date" && ( + + )} + {name == "Update available" && ( + + )} + {name == "Unknown" && ( + + )} +
    +
    +
    + ); +} diff --git a/web/src/index.css b/web/src/index.css new file mode 100644 index 0000000..2ddb373 --- /dev/null +++ b/web/src/index.css @@ -0,0 +1,54 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +/* Kinda hacky, but thank you https://geary.co/internal-borders-css-grid/ */ +.gi { + position: relative; + height: 100%; +} + +.gi::before, +.gi::after { + content: ""; + position: absolute; + z-index: 1; +} + +.gi::before { + inline-size: 1px; + block-size: 100vh; + inset-inline-start: -0.125rem; +} + +.gi::after { + inline-size: 100vw; + block-size: 1px; + inset-inline-start: 0; + inset-block-start: -0.12rem; +} + +@supports (scrollbar-color: auto) { + html { + scrollbar-color: #707070 #343840; + } +} + +@supports selector(::-webkit-scrollbar) { + html::-webkit-scrollbar { + width: 10px; + } + + html::-webkit-scrollbar-track { + background: #343840; + } + + html::-webkit-scrollbar-thumb { + background: #707070; + border-radius: 0.375rem; + } + + html::-webkit-scrollbar-thumb:hover { + background: #b5b5b5; + } +} diff --git a/web/src/main.tsx b/web/src/main.tsx new file mode 100644 index 0000000..ef474bf --- /dev/null +++ b/web/src/main.tsx @@ -0,0 +1,10 @@ +import { StrictMode } from "react"; +import { createRoot } from "react-dom/client"; +import App from "./App.tsx"; +import "./index.css"; + +createRoot(document.getElementById("root")!).render( + + + , +); diff --git a/web/src/types.ts b/web/src/types.ts new file mode 100644 index 0000000..7ec9d54 --- /dev/null +++ b/web/src/types.ts @@ -0,0 +1,12 @@ +export type Data = { + metrics: { + monitored_images: number; + up_to_date: number; + update_available: number; + unknown: number; + }; + images: { + [key: string]: boolean | null; + }; + last_updated: string; +}; diff --git a/web/src/vite-env.d.ts b/web/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/web/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/web/tailwind.config.js b/web/tailwind.config.js new file mode 100644 index 0000000..a56be7f --- /dev/null +++ b/web/tailwind.config.js @@ -0,0 +1,37 @@ +/** @type {import('tailwindcss').Config} */ +export default { + content: ["./src/App.tsx", "./src/components/*.tsx"], + theme: { + extend: {}, + }, + plugins: [], + safelist: [ + // Generate minimum extra CSS + { + pattern: /bg-(gray|neutral)-50/, + }, + { + pattern: /bg-(gray|neutral)-(900|950)/, + variants: ["dark"], + }, + { + pattern: /bg-(gray|neutral)-200/, + variants: ["before", "after"], + }, + { + pattern: /bg-(gray|neutral)-800/, + variants: ["before:dark", "after:dark"], + }, + { + pattern: /text-(gray|neutral)-400/, + }, + { + pattern: /text-(gray|neutral)-500/, + variants: ["dark"], + }, + { + pattern: /divide-(gray|neutral)-800/, + variants: ["dark"], + }, + ], +}; diff --git a/web/tsconfig.app.json b/web/tsconfig.app.json new file mode 100644 index 0000000..d012cf9 --- /dev/null +++ b/web/tsconfig.app.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "target": "ES2022", + "useDefineForClassFields": true, + "lib": ["ES2022", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"] +} diff --git a/web/tsconfig.json b/web/tsconfig.json new file mode 100644 index 0000000..1ffef60 --- /dev/null +++ b/web/tsconfig.json @@ -0,0 +1,7 @@ +{ + "files": [], + "references": [ + { "path": "./tsconfig.app.json" }, + { "path": "./tsconfig.node.json" } + ] +} diff --git a/web/tsconfig.node.json b/web/tsconfig.node.json new file mode 100644 index 0000000..0d3d714 --- /dev/null +++ b/web/tsconfig.node.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "target": "ES2022", + "lib": ["ES2023"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["vite.config.ts"] +} diff --git a/web/vite.config.ts b/web/vite.config.ts new file mode 100644 index 0000000..43d9003 --- /dev/null +++ b/web/vite.config.ts @@ -0,0 +1,16 @@ +import { defineConfig } from "vite"; +import react from "@vitejs/plugin-react-swc"; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()], + build: { + rollupOptions: { // https://stackoverflow.com/q/69614671/vite-without-hash-in-filename#75344943 + output: { + entryFileNames: `assets/[name].js`, + chunkFileNames: `assets/[name].js`, + assetFileNames: `assets/[name].[ext]`, + }, + }, + }, +});