diff --git a/webui/src/tailwind.css b/webui/src/tailwind.css
index 05a41c8..0f64b00 100644
--- a/webui/src/tailwind.css
+++ b/webui/src/tailwind.css
@@ -1,4 +1,4 @@
-/*! tailwindcss v4.1.8 | MIT License | https://tailwindcss.com */
+/*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */
 @layer properties;
 @layer theme, base, components, utilities;
 @layer theme {
@@ -17,14 +17,9 @@
     --color-orange-500: oklch(70.5% 0.213 47.604);
     --color-orange-800: oklch(47% 0.157 37.304);
     --color-green-600: oklch(62.7% 0.194 149.214);
-    --color-blue-50: oklch(97% 0.014 254.604);
-    --color-blue-100: oklch(93.2% 0.032 255.585);
-    --color-blue-400: oklch(70.7% 0.165 254.624);
     --color-blue-500: oklch(62.3% 0.214 259.815);
     --color-blue-600: oklch(54.6% 0.245 262.881);
-    --color-blue-700: oklch(48.8% 0.243 264.376);
     --color-blue-800: oklch(42.4% 0.199 265.638);
-    --color-gray-50: oklch(98.5% 0.002 247.839);
     --color-gray-100: oklch(96.7% 0.003 264.542);
     --color-gray-200: oklch(92.8% 0.006 264.531);
     --color-gray-300: oklch(87.2% 0.01 258.338);
@@ -49,9 +44,9 @@
     --font-weight-semibold: 600;
     --font-weight-bold: 700;
     --leading-relaxed: 1.625;
+    --radius-sm: 0.25rem;
     --radius-lg: 0.5rem;
     --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
-    --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
     --default-transition-duration: 150ms;
     --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
     --default-font-family: var(--font-sans);
@@ -295,9 +290,6 @@
   .top-full {
     top: 100%;
   }
-  .right-0 {
-    right: calc(var(--spacing) * 0);
-  }
   .right-4 {
     right: calc(var(--spacing) * 4);
   }
@@ -310,6 +302,24 @@
   .col-span-full {
     grid-column: 1 / -1;
   }
+  .\!container {
+    width: 100% !important;
+    @media (width >= 40rem) {
+      max-width: 40rem !important;
+    }
+    @media (width >= 48rem) {
+      max-width: 48rem !important;
+    }
+    @media (width >= 64rem) {
+      max-width: 64rem !important;
+    }
+    @media (width >= 80rem) {
+      max-width: 80rem !important;
+    }
+    @media (width >= 96rem) {
+      max-width: 96rem !important;
+    }
+  }
   .container {
     width: 100%;
     @media (width >= 40rem) {
@@ -358,8 +368,8 @@
   .mr-12 {
     margin-right: calc(var(--spacing) * 12);
   }
-  .mr-96 {
-    margin-right: calc(var(--spacing) * 96);
+  .mr-\[400px\] {
+    margin-right: 400px;
   }
   .mb-0 {
     margin-bottom: calc(var(--spacing) * 0);
@@ -376,6 +386,9 @@
   .block {
     display: block;
   }
+  .contents {
+    display: contents;
+  }
   .flex {
     display: flex;
   }
@@ -385,6 +398,9 @@
   .hidden {
     display: none;
   }
+  .inline {
+    display: inline;
+  }
   .inline-flex {
     display: inline-flex;
   }
@@ -409,6 +425,9 @@
   .min-h-0 {
     min-height: calc(var(--spacing) * 0);
   }
+  .w-0\.5 {
+    width: calc(var(--spacing) * 0.5);
+  }
   .w-4 {
     width: calc(var(--spacing) * 4);
   }
@@ -418,14 +437,14 @@
   .w-6 {
     width: calc(var(--spacing) * 6);
   }
-  .w-96 {
-    width: calc(var(--spacing) * 96);
+  .w-\[400px\] {
+    width: 400px;
   }
-  .w-\[calc\(100\%-2\.5rem\)\] {
-    width: calc(100% - 2.5rem);
+  .w-\[calc\(100\%-40px\)\] {
+    width: calc(100% - 40px);
   }
-  .w-\[calc\(100\%-24rem\)\] {
-    width: calc(100% - 24rem);
+  .w-\[calc\(100\%-400px\)\] {
+    width: calc(100% - 400px);
   }
   .w-full {
     width: 100%;
@@ -445,8 +464,8 @@
   .min-w-24 {
     min-width: calc(var(--spacing) * 24);
   }
-  .min-w-96 {
-    min-width: calc(var(--spacing) * 96);
+  .min-w-max {
+    min-width: max-content;
   }
   .flex-1 {
     flex: 1;
@@ -460,13 +479,16 @@
   .flex-grow {
     flex-grow: 1;
   }
+  .origin-center {
+    transform-origin: center;
+  }
+  .rotate-45 {
+    rotate: 45deg;
+  }
   .transform {
     transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,)
       var(--tw-skew-x,) var(--tw-skew-y,);
   }
-  .animate-pulse {
-    animation: var(--animate-pulse);
-  }
   .cursor-default {
     cursor: default;
   }
@@ -545,6 +567,9 @@
   .rounded-lg {
     border-radius: var(--radius-lg);
   }
+  .rounded-sm {
+    border-radius: var(--radius-sm);
+  }
   .border {
     border-style: var(--tw-border-style);
     border-width: 1px;
@@ -553,22 +578,10 @@
     border-top-style: var(--tw-border-style);
     border-top-width: 1px;
   }
-  .border-r {
-    border-right-style: var(--tw-border-style);
-    border-right-width: 1px;
-  }
   .border-b {
     border-bottom-style: var(--tw-border-style);
     border-bottom-width: 1px;
   }
-  .border-b-2 {
-    border-bottom-style: var(--tw-border-style);
-    border-bottom-width: 2px;
-  }
-  .border-l {
-    border-left-style: var(--tw-border-style);
-    border-left-width: 1px;
-  }
   .border-l-4 {
     border-left-style: var(--tw-border-style);
     border-left-width: 4px;
@@ -577,8 +590,8 @@
     --tw-border-style: none;
     border-style: none;
   }
-  .border-blue-400 {
-    border-color: var(--color-blue-400);
+  .border-blue-600 {
+    border-color: var(--color-blue-600);
   }
   .border-gray-200 {
     border-color: var(--color-gray-200);
@@ -589,30 +602,18 @@
   .border-orange-500 {
     border-color: var(--color-orange-500);
   }
-  .border-transparent {
-    border-color: transparent;
-  }
-  .border-b-blue-500 {
-    border-bottom-color: var(--color-blue-500);
-  }
-  .bg-blue-50 {
-    background-color: var(--color-blue-50);
-  }
-  .bg-blue-100 {
-    background-color: var(--color-blue-100);
-  }
   .bg-blue-500 {
     background-color: var(--color-blue-500);
   }
-  .bg-blue-700 {
-    background-color: var(--color-blue-700);
-  }
-  .bg-gray-50 {
-    background-color: var(--color-gray-50);
+  .bg-blue-600 {
+    background-color: var(--color-blue-600);
   }
   .bg-gray-100 {
     background-color: var(--color-gray-100);
   }
+  .bg-gray-200 {
+    background-color: var(--color-gray-200);
+  }
   .bg-gray-600 {
     background-color: var(--color-gray-600);
   }
@@ -622,15 +623,18 @@
   .bg-red-600 {
     background-color: var(--color-red-600);
   }
-  .bg-transparent {
-    background-color: transparent;
-  }
   .bg-white {
     background-color: var(--color-white);
   }
   .p-0 {
     padding: calc(var(--spacing) * 0);
   }
+  .p-3 {
+    padding: calc(var(--spacing) * 3);
+  }
+  .p-4 {
+    padding: calc(var(--spacing) * 4);
+  }
   .px-1\.5 {
     padding-inline: calc(var(--spacing) * 1.5);
   }
@@ -640,12 +644,6 @@
   .px-2\.5 {
     padding-inline: calc(var(--spacing) * 2.5);
   }
-  .px-3 {
-    padding-inline: calc(var(--spacing) * 3);
-  }
-  .px-4 {
-    padding-inline: calc(var(--spacing) * 4);
-  }
   .px-5 {
     padding-inline: calc(var(--spacing) * 5);
   }
@@ -658,12 +656,6 @@
   .py-1\.5 {
     padding-block: calc(var(--spacing) * 1.5);
   }
-  .py-2 {
-    padding-block: calc(var(--spacing) * 2);
-  }
-  .py-2\.5 {
-    padding-block: calc(var(--spacing) * 2.5);
-  }
   .pt-0 {
     padding-top: calc(var(--spacing) * 0);
   }
@@ -691,10 +683,6 @@
   .font-sans {
     font-family: var(--font-sans);
   }
-  .text-base {
-    font-size: var(--text-base);
-    line-height: var(--tw-leading, var(--text-base--line-height));
-  }
   .text-lg {
     font-size: var(--text-lg);
     line-height: var(--tw-leading, var(--text-lg--line-height));
@@ -736,33 +724,24 @@
   .whitespace-nowrap {
     white-space: nowrap;
   }
-  .text-blue-500 {
-    color: var(--color-blue-500);
-  }
   .text-blue-600 {
     color: var(--color-blue-600);
   }
-  .text-gray-400 {
-    color: var(--color-gray-400);
-  }
   .text-gray-500 {
     color: var(--color-gray-500);
   }
   .text-gray-600 {
     color: var(--color-gray-600);
   }
-  .text-gray-600\/85 {
-    color: color-mix(in srgb, oklch(44.6% 0.03 256.802) 85%, transparent);
-    @supports (color: color-mix(in lab, red, red)) {
-      color: color-mix(in oklab, var(--color-gray-600) 85%, transparent);
-    }
-  }
   .text-gray-800 {
     color: var(--color-gray-800);
   }
   .text-green-600 {
     color: var(--color-green-600);
   }
+  .text-inherit {
+    color: inherit;
+  }
   .text-orange-800 {
     color: var(--color-orange-800);
   }
@@ -800,10 +779,10 @@
       var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
       var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
   }
-  .shadow-sm {
+  .shadow-md {
     --tw-shadow:
-      0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)),
-      0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
+      0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)),
+      0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
     box-shadow:
       var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
       var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -886,6 +865,25 @@
     );
     transition-duration: var(--tw-duration, var(--default-transition-duration));
   }
+  .transition-colors {
+    transition-property:
+      color, background-color, border-color, outline-color,
+      text-decoration-color, fill, stroke, --tw-gradient-from,
+      --tw-gradient-via, --tw-gradient-to;
+    transition-timing-function: var(
+      --tw-ease,
+      var(--default-transition-timing-function)
+    );
+    transition-duration: var(--tw-duration, var(--default-transition-duration));
+  }
+  .transition-opacity {
+    transition-property: opacity;
+    transition-timing-function: var(
+      --tw-ease,
+      var(--default-transition-timing-function)
+    );
+    transition-duration: var(--tw-duration, var(--default-transition-duration));
+  }
   .duration-200 {
     --tw-duration: 200ms;
     transition-duration: 200ms;
@@ -894,13 +892,6 @@
     --tw-ease: var(--ease-in-out);
     transition-timing-function: var(--ease-in-out);
   }
-  .group-hover\:opacity-100 {
-    &:is(:where(.group):hover *) {
-      @media (hover: hover) {
-        opacity: 100%;
-      }
-    }
-  }
   .hover\:bg-blue-800 {
     &:hover {
       @media (hover: hover) {
@@ -943,6 +934,20 @@
       }
     }
   }
+  .hover\:opacity-80 {
+    &:hover {
+      @media (hover: hover) {
+        opacity: 80%;
+      }
+    }
+  }
+  .hover\:opacity-100 {
+    &:hover {
+      @media (hover: hover) {
+        opacity: 100%;
+      }
+    }
+  }
   .disabled\:cursor-not-allowed {
     &:disabled {
       cursor: not-allowed;
@@ -963,108 +968,101 @@
       opacity: 70%;
     }
   }
-  .disabled\:hover\:bg-red-300 {
-    &:disabled {
-      &:hover {
-        @media (hover: hover) {
-          background-color: var(--color-red-300);
-        }
-      }
+  .sm\:h-4 {
+    @media (width >= 40rem) {
+      height: calc(var(--spacing) * 4);
     }
   }
-  .max-xl\:hidden {
-    @media (width < 80rem) {
-      display: none;
+  .sm\:w-4 {
+    @media (width >= 40rem) {
+      width: calc(var(--spacing) * 4);
     }
   }
-  .max-xl\:px-1\.5 {
-    @media (width < 80rem) {
-      padding-inline: calc(var(--spacing) * 1.5);
+  .sm\:max-w-\[60\%\] {
+    @media (width >= 40rem) {
+      max-width: 60%;
     }
   }
-  .max-xl\:px-2\.5 {
-    @media (width < 80rem) {
-      padding-inline: calc(var(--spacing) * 2.5);
+  .sm\:text-sm {
+    @media (width >= 40rem) {
+      font-size: var(--text-sm);
+      line-height: var(--tw-leading, var(--text-sm--line-height));
     }
   }
-  .max-xl\:py-1\.5 {
-    @media (width < 80rem) {
-      padding-block: calc(var(--spacing) * 1.5);
-    }
-  }
-  .max-md\:mr-0 {
-    @media (width < 48rem) {
+  .md\:mr-0 {
+    @media (width >= 48rem) {
       margin-right: calc(var(--spacing) * 0);
     }
   }
-  .max-md\:hidden {
-    @media (width < 48rem) {
+  .md\:hidden {
+    @media (width >= 48rem) {
       display: none;
     }
   }
-  .max-md\:w-full {
-    @media (width < 48rem) {
+  .md\:h-\[18px\] {
+    @media (width >= 48rem) {
+      height: 18px;
+    }
+  }
+  .md\:w-\[18px\] {
+    @media (width >= 48rem) {
+      width: 18px;
+    }
+  }
+  .md\:w-full {
+    @media (width >= 48rem) {
       width: 100%;
     }
   }
-  .md\:mr-72 {
+  .md\:max-w-1\/2 {
     @media (width >= 48rem) {
-      margin-right: calc(var(--spacing) * 72);
+      max-width: calc(1 / 2 * 100%);
     }
   }
-  .md\:w-72 {
+  .md\:text-base {
     @media (width >= 48rem) {
-      width: calc(var(--spacing) * 72);
+      font-size: var(--text-base);
+      line-height: var(--tw-leading, var(--text-base--line-height));
     }
   }
-  .md\:w-\[calc\(100\%-18rem\)\] {
-    @media (width >= 48rem) {
-      width: calc(100% - 18rem);
-    }
-  }
-  .lg\:mr-80 {
+  .lg\:mr-\[300px\] {
     @media (width >= 64rem) {
-      margin-right: calc(var(--spacing) * 80);
+      margin-right: 300px;
     }
   }
-  .lg\:w-80 {
+  .lg\:w-\[300px\] {
     @media (width >= 64rem) {
-      width: calc(var(--spacing) * 80);
+      width: 300px;
     }
   }
-  .lg\:w-\[calc\(100\%-20rem\)\] {
+  .lg\:w-\[calc\(100\%-300px\)\] {
     @media (width >= 64rem) {
-      width: calc(100% - 20rem);
+      width: calc(100% - 300px);
     }
   }
-  .xl\:mr-96 {
+  .xl\:mr-\[350px\] {
     @media (width >= 80rem) {
-      margin-right: calc(var(--spacing) * 96);
+      margin-right: 350px;
     }
   }
-  .xl\:inline {
+  .xl\:hidden {
     @media (width >= 80rem) {
-      display: inline;
+      display: none;
     }
   }
-  .xl\:w-96 {
+  .xl\:w-\[350px\] {
     @media (width >= 80rem) {
-      width: calc(var(--spacing) * 96);
+      width: 350px;
     }
   }
-  .xl\:w-\[calc\(100\%-24rem\)\] {
+  .xl\:w-\[calc\(100\%-350px\)\] {
     @media (width >= 80rem) {
-      width: calc(100% - 24rem);
+      width: calc(100% - 350px);
     }
   }
-  .xl\:px-2\.5 {
+  .xl\:px-1\.5 {
     @media (width >= 80rem) {
-      padding-inline: calc(var(--spacing) * 2.5);
-    }
-  }
-  .xl\:py-1 {
-    @media (width >= 80rem) {
-      padding-block: calc(var(--spacing) * 1);
+      padding-inline: calc(var(--spacing) * 1.5);
     }
   }
 }
@@ -1268,11 +1266,6 @@
   syntax: "*";
   inherits: false;
 }
-@keyframes pulse {
-  50% {
-    opacity: 0.5;
-  }
-}
 @layer properties {
   @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or
     ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
