webui: convert sketch-container-status to use tailwind

Convert sketch-container-status component from shadowDOM CSS to Tailwind classes
while preserving the original visual styling and functionality.

- Inherit from SketchTailwindElement instead of LitElement to disable shadowDOM
- Replace static styles CSS with equivalent Tailwind utility classes
- Update pulse animation to use document-level CSS since Tailwind doesn't support custom keyframes inline
- Convert all layout, typography, color, and spacing properties to Tailwind equivalents
- Update DOM queries from shadowRoot to direct element queries due to disabled shadowDOM
- Preserve all interactive functionality including info panel expansion and commit copying
- Maintain visual consistency with original design including hover states and transitions

Co-Authored-By: sketch <hello@sketch.dev>
Change-ID: s7f97a079a6dd14c1k
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)))) {