webui: convert sketch-app-shell to use tailwind
Doing the conversion from shadowDOM to tailwind starting with the
outermost elements in the page because shadowDOM hides dom nodes from
ancestor styles, which means tailwind styles don't apply to an element
if its ancestors use shadowDOM.
- add new SketchTailwindElement that disables shadowDOM for tailwind
- convert sketch-app-shell to inherit from SketchTailwindElement
- convert sketch-app-shell's CSS from shadowDOM to tailwind classes
diff --git a/webui/src/tailwind.css b/webui/src/tailwind.css
new file mode 100644
index 0000000..05a41c8
--- /dev/null
+++ b/webui/src/tailwind.css
@@ -0,0 +1,1332 @@
+/*! tailwindcss v4.1.8 | MIT License | https://tailwindcss.com */
+@layer properties;
+@layer theme, base, components, utilities;
+@layer theme {
+ :root,
+ :host {
+ --font-sans:
+ ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
+ "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+ --font-mono:
+ ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
+ "Courier New", monospace;
+ --color-red-300: oklch(80.8% 0.114 19.571);
+ --color-red-600: oklch(57.7% 0.245 27.325);
+ --color-red-700: oklch(50.5% 0.213 27.518);
+ --color-orange-50: oklch(98% 0.016 73.684);
+ --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);
+ --color-gray-400: oklch(70.7% 0.022 261.325);
+ --color-gray-500: oklch(55.1% 0.027 264.364);
+ --color-gray-600: oklch(44.6% 0.03 256.802);
+ --color-gray-700: oklch(37.3% 0.034 259.733);
+ --color-gray-800: oklch(27.8% 0.033 256.848);
+ --color-white: #fff;
+ --spacing: 0.25rem;
+ --container-6xl: 72rem;
+ --text-xs: 0.75rem;
+ --text-xs--line-height: calc(1 / 0.75);
+ --text-sm: 0.875rem;
+ --text-sm--line-height: calc(1.25 / 0.875);
+ --text-base: 1rem;
+ --text-base--line-height: calc(1.5 / 1);
+ --text-lg: 1.125rem;
+ --text-lg--line-height: calc(1.75 / 1.125);
+ --font-weight-normal: 400;
+ --font-weight-medium: 500;
+ --font-weight-semibold: 600;
+ --font-weight-bold: 700;
+ --leading-relaxed: 1.625;
+ --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);
+ --default-mono-font-family: var(--font-mono);
+ }
+}
+@layer base {
+ *,
+ ::after,
+ ::before,
+ ::backdrop,
+ ::file-selector-button {
+ box-sizing: border-box;
+ margin: 0;
+ padding: 0;
+ border: 0 solid;
+ }
+ html,
+ :host {
+ line-height: 1.5;
+ -webkit-text-size-adjust: 100%;
+ tab-size: 4;
+ font-family: var(
+ --default-font-family,
+ ui-sans-serif,
+ system-ui,
+ sans-serif,
+ "Apple Color Emoji",
+ "Segoe UI Emoji",
+ "Segoe UI Symbol",
+ "Noto Color Emoji"
+ );
+ font-feature-settings: var(--default-font-feature-settings, normal);
+ font-variation-settings: var(--default-font-variation-settings, normal);
+ -webkit-tap-highlight-color: transparent;
+ }
+ hr {
+ height: 0;
+ color: inherit;
+ border-top-width: 1px;
+ }
+ abbr:where([title]) {
+ -webkit-text-decoration: underline dotted;
+ text-decoration: underline dotted;
+ }
+ h1,
+ h2,
+ h3,
+ h4,
+ h5,
+ h6 {
+ font-size: inherit;
+ font-weight: inherit;
+ }
+ a {
+ color: inherit;
+ -webkit-text-decoration: inherit;
+ text-decoration: inherit;
+ }
+ b,
+ strong {
+ font-weight: bolder;
+ }
+ code,
+ kbd,
+ samp,
+ pre {
+ font-family: var(
+ --default-mono-font-family,
+ ui-monospace,
+ SFMono-Regular,
+ Menlo,
+ Monaco,
+ Consolas,
+ "Liberation Mono",
+ "Courier New",
+ monospace
+ );
+ font-feature-settings: var(--default-mono-font-feature-settings, normal);
+ font-variation-settings: var(
+ --default-mono-font-variation-settings,
+ normal
+ );
+ font-size: 1em;
+ }
+ small {
+ font-size: 80%;
+ }
+ sub,
+ sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+ }
+ sub {
+ bottom: -0.25em;
+ }
+ sup {
+ top: -0.5em;
+ }
+ table {
+ text-indent: 0;
+ border-color: inherit;
+ border-collapse: collapse;
+ }
+ :-moz-focusring {
+ outline: auto;
+ }
+ progress {
+ vertical-align: baseline;
+ }
+ summary {
+ display: list-item;
+ }
+ ol,
+ ul,
+ menu {
+ list-style: none;
+ }
+ img,
+ svg,
+ video,
+ canvas,
+ audio,
+ iframe,
+ embed,
+ object {
+ display: block;
+ vertical-align: middle;
+ }
+ img,
+ video {
+ max-width: 100%;
+ height: auto;
+ }
+ button,
+ input,
+ select,
+ optgroup,
+ textarea,
+ ::file-selector-button {
+ font: inherit;
+ font-feature-settings: inherit;
+ font-variation-settings: inherit;
+ letter-spacing: inherit;
+ color: inherit;
+ border-radius: 0;
+ background-color: transparent;
+ opacity: 1;
+ }
+ :where(select:is([multiple], [size])) optgroup {
+ font-weight: bolder;
+ }
+ :where(select:is([multiple], [size])) optgroup option {
+ padding-inline-start: 20px;
+ }
+ ::file-selector-button {
+ margin-inline-end: 4px;
+ }
+ ::placeholder {
+ opacity: 1;
+ }
+ @supports (not (-webkit-appearance: -apple-pay-button)) or
+ (contain-intrinsic-size: 1px) {
+ ::placeholder {
+ color: currentcolor;
+ @supports (color: color-mix(in lab, red, red)) {
+ color: color-mix(in oklab, currentcolor 50%, transparent);
+ }
+ }
+ }
+ textarea {
+ resize: vertical;
+ }
+ ::-webkit-search-decoration {
+ -webkit-appearance: none;
+ }
+ ::-webkit-date-and-time-value {
+ min-height: 1lh;
+ text-align: inherit;
+ }
+ ::-webkit-datetime-edit {
+ display: inline-flex;
+ }
+ ::-webkit-datetime-edit-fields-wrapper {
+ padding: 0;
+ }
+ ::-webkit-datetime-edit,
+ ::-webkit-datetime-edit-year-field,
+ ::-webkit-datetime-edit-month-field,
+ ::-webkit-datetime-edit-day-field,
+ ::-webkit-datetime-edit-hour-field,
+ ::-webkit-datetime-edit-minute-field,
+ ::-webkit-datetime-edit-second-field,
+ ::-webkit-datetime-edit-millisecond-field,
+ ::-webkit-datetime-edit-meridiem-field {
+ padding-block: 0;
+ }
+ :-moz-ui-invalid {
+ box-shadow: none;
+ }
+ button,
+ input:where([type="button"], [type="reset"], [type="submit"]),
+ ::file-selector-button {
+ appearance: button;
+ }
+ ::-webkit-inner-spin-button,
+ ::-webkit-outer-spin-button {
+ height: auto;
+ }
+ [hidden]:where(:not([hidden="until-found"])) {
+ display: none !important;
+ }
+}
+@layer utilities {
+ .collapse {
+ visibility: collapse;
+ }
+ .invisible {
+ visibility: hidden;
+ }
+ .visible {
+ visibility: visible;
+ }
+ .absolute {
+ position: absolute;
+ }
+ .fixed {
+ position: fixed;
+ }
+ .relative {
+ position: relative;
+ }
+ .static {
+ position: static;
+ }
+ .top-12 {
+ top: calc(var(--spacing) * 12);
+ }
+ .top-full {
+ top: 100%;
+ }
+ .right-0 {
+ right: calc(var(--spacing) * 0);
+ }
+ .right-4 {
+ right: calc(var(--spacing) * 4);
+ }
+ .z-10 {
+ z-index: 10;
+ }
+ .z-\[100\] {
+ z-index: 100;
+ }
+ .col-span-full {
+ grid-column: 1 / -1;
+ }
+ .container {
+ width: 100%;
+ @media (width >= 40rem) {
+ max-width: 40rem;
+ }
+ @media (width >= 48rem) {
+ max-width: 48rem;
+ }
+ @media (width >= 64rem) {
+ max-width: 64rem;
+ }
+ @media (width >= 80rem) {
+ max-width: 80rem;
+ }
+ @media (width >= 96rem) {
+ max-width: 96rem;
+ }
+ }
+ .m-0 {
+ margin: calc(var(--spacing) * 0);
+ }
+ .mx-auto {
+ margin-inline: auto;
+ }
+ .mt-1\.5 {
+ margin-top: calc(var(--spacing) * 1.5);
+ }
+ .mt-2 {
+ margin-top: calc(var(--spacing) * 2);
+ }
+ .mt-2\.5 {
+ margin-top: calc(var(--spacing) * 2.5);
+ }
+ .mr-0 {
+ margin-right: calc(var(--spacing) * 0);
+ }
+ .mr-1 {
+ margin-right: calc(var(--spacing) * 1);
+ }
+ .mr-1\.5 {
+ margin-right: calc(var(--spacing) * 1.5);
+ }
+ .mr-2\.5 {
+ margin-right: calc(var(--spacing) * 2.5);
+ }
+ .mr-12 {
+ margin-right: calc(var(--spacing) * 12);
+ }
+ .mr-96 {
+ margin-right: calc(var(--spacing) * 96);
+ }
+ .mb-0 {
+ margin-bottom: calc(var(--spacing) * 0);
+ }
+ .mb-2 {
+ margin-bottom: calc(var(--spacing) * 2);
+ }
+ .ml-1 {
+ margin-left: calc(var(--spacing) * 1);
+ }
+ .ml-2 {
+ margin-left: calc(var(--spacing) * 2);
+ }
+ .block {
+ display: block;
+ }
+ .flex {
+ display: flex;
+ }
+ .grid {
+ display: grid;
+ }
+ .hidden {
+ display: none;
+ }
+ .inline-flex {
+ display: inline-flex;
+ }
+ .h-4 {
+ height: calc(var(--spacing) * 4);
+ }
+ .h-5 {
+ height: calc(var(--spacing) * 5);
+ }
+ .h-6 {
+ height: calc(var(--spacing) * 6);
+ }
+ .h-12 {
+ height: calc(var(--spacing) * 12);
+ }
+ .h-full {
+ height: 100%;
+ }
+ .h-screen {
+ height: 100vh;
+ }
+ .min-h-0 {
+ min-height: calc(var(--spacing) * 0);
+ }
+ .w-4 {
+ width: calc(var(--spacing) * 4);
+ }
+ .w-5 {
+ width: calc(var(--spacing) * 5);
+ }
+ .w-6 {
+ width: calc(var(--spacing) * 6);
+ }
+ .w-96 {
+ width: calc(var(--spacing) * 96);
+ }
+ .w-\[calc\(100\%-2\.5rem\)\] {
+ width: calc(100% - 2.5rem);
+ }
+ .w-\[calc\(100\%-24rem\)\] {
+ width: calc(100% - 24rem);
+ }
+ .w-full {
+ width: 100%;
+ }
+ .max-w-6xl {
+ max-width: var(--container-6xl);
+ }
+ .max-w-\[30\%\] {
+ max-width: 30%;
+ }
+ .max-w-full {
+ max-width: 100%;
+ }
+ .max-w-none {
+ max-width: none;
+ }
+ .min-w-24 {
+ min-width: calc(var(--spacing) * 24);
+ }
+ .min-w-96 {
+ min-width: calc(var(--spacing) * 96);
+ }
+ .flex-1 {
+ flex: 1;
+ }
+ .flex-shrink {
+ flex-shrink: 1;
+ }
+ .flex-shrink-0 {
+ flex-shrink: 0;
+ }
+ .flex-grow {
+ flex-grow: 1;
+ }
+ .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;
+ }
+ .cursor-pointer {
+ cursor: pointer;
+ }
+ .resize {
+ resize: both;
+ }
+ .grid-cols-2 {
+ grid-template-columns: repeat(2, minmax(0, 1fr));
+ }
+ .grid-cols-\[repeat\(auto-fill\,minmax\(150px\,1fr\)\)\] {
+ grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
+ }
+ .flex-col {
+ flex-direction: column;
+ }
+ .flex-nowrap {
+ flex-wrap: nowrap;
+ }
+ .flex-wrap {
+ flex-wrap: wrap;
+ }
+ .items-center {
+ align-items: center;
+ }
+ .justify-between {
+ justify-content: space-between;
+ }
+ .justify-center {
+ justify-content: center;
+ }
+ .justify-start {
+ justify-content: flex-start;
+ }
+ .gap-0\.5 {
+ gap: calc(var(--spacing) * 0.5);
+ }
+ .gap-1\.5 {
+ gap: calc(var(--spacing) * 1.5);
+ }
+ .gap-2 {
+ gap: calc(var(--spacing) * 2);
+ }
+ .gap-2\.5 {
+ gap: calc(var(--spacing) * 2.5);
+ }
+ .gap-4 {
+ gap: calc(var(--spacing) * 4);
+ }
+ .gap-5 {
+ gap: calc(var(--spacing) * 5);
+ }
+ .self-end {
+ align-self: flex-end;
+ }
+ .self-stretch {
+ align-self: stretch;
+ }
+ .overflow-hidden {
+ overflow: hidden;
+ }
+ .overflow-x-hidden {
+ overflow-x: hidden;
+ }
+ .overflow-y-auto {
+ overflow-y: auto;
+ }
+ .rounded {
+ border-radius: 0.25rem;
+ }
+ .rounded-full {
+ border-radius: calc(infinity * 1px);
+ }
+ .rounded-lg {
+ border-radius: var(--radius-lg);
+ }
+ .border {
+ border-style: var(--tw-border-style);
+ border-width: 1px;
+ }
+ .border-t {
+ 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;
+ }
+ .border-none {
+ --tw-border-style: none;
+ border-style: none;
+ }
+ .border-blue-400 {
+ border-color: var(--color-blue-400);
+ }
+ .border-gray-200 {
+ border-color: var(--color-gray-200);
+ }
+ .border-gray-300 {
+ border-color: var(--color-gray-300);
+ }
+ .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-gray-100 {
+ background-color: var(--color-gray-100);
+ }
+ .bg-gray-600 {
+ background-color: var(--color-gray-600);
+ }
+ .bg-orange-50 {
+ background-color: var(--color-orange-50);
+ }
+ .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);
+ }
+ .px-1\.5 {
+ padding-inline: calc(var(--spacing) * 1.5);
+ }
+ .px-2 {
+ padding-inline: calc(var(--spacing) * 2);
+ }
+ .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);
+ }
+ .py-0\.5 {
+ padding-block: calc(var(--spacing) * 0.5);
+ }
+ .py-1 {
+ padding-block: calc(var(--spacing) * 1);
+ }
+ .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);
+ }
+ .pt-1\.5 {
+ padding-top: calc(var(--spacing) * 1.5);
+ }
+ .pt-2\.5 {
+ padding-top: calc(var(--spacing) * 2.5);
+ }
+ .pr-8 {
+ padding-right: calc(var(--spacing) * 8);
+ }
+ .pb-2\.5 {
+ padding-bottom: calc(var(--spacing) * 2.5);
+ }
+ .pl-4 {
+ padding-left: calc(var(--spacing) * 4);
+ }
+ .align-middle {
+ vertical-align: middle;
+ }
+ .font-mono {
+ font-family: var(--font-mono);
+ }
+ .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));
+ }
+ .text-sm {
+ font-size: var(--text-sm);
+ line-height: var(--tw-leading, var(--text-sm--line-height));
+ }
+ .text-xs {
+ font-size: var(--text-xs);
+ line-height: var(--tw-leading, var(--text-xs--line-height));
+ }
+ .leading-relaxed {
+ --tw-leading: var(--leading-relaxed);
+ line-height: var(--leading-relaxed);
+ }
+ .font-bold {
+ --tw-font-weight: var(--font-weight-bold);
+ font-weight: var(--font-weight-bold);
+ }
+ .font-medium {
+ --tw-font-weight: var(--font-weight-medium);
+ font-weight: var(--font-weight-medium);
+ }
+ .font-normal {
+ --tw-font-weight: var(--font-weight-normal);
+ font-weight: var(--font-weight-normal);
+ }
+ .font-semibold {
+ --tw-font-weight: var(--font-weight-semibold);
+ font-weight: var(--font-weight-semibold);
+ }
+ .break-all {
+ word-break: break-all;
+ }
+ .text-ellipsis {
+ text-overflow: ellipsis;
+ }
+ .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-orange-800 {
+ color: var(--color-orange-800);
+ }
+ .text-white {
+ color: var(--color-white);
+ }
+ .italic {
+ font-style: italic;
+ }
+ .no-underline {
+ text-decoration-line: none;
+ }
+ .opacity-70 {
+ opacity: 70%;
+ }
+ .shadow {
+ --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));
+ box-shadow:
+ var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
+ var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
+ }
+ .shadow-\[0_-2px_10px_rgba\(0\,0\,0\,0\.1\)\] {
+ --tw-shadow: 0 -2px 10px var(--tw-shadow-color, rgba(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);
+ }
+ .shadow-lg {
+ --tw-shadow:
+ 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)),
+ 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
+ box-shadow:
+ var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
+ var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
+ }
+ .shadow-sm {
+ --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));
+ box-shadow:
+ var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
+ var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
+ }
+ .outline {
+ outline-style: var(--tw-outline-style);
+ outline-width: 1px;
+ }
+ .blur {
+ --tw-blur: blur(8px);
+ filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,)
+ var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,)
+ var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
+ }
+ .backdrop-filter {
+ -webkit-backdrop-filter: var(--tw-backdrop-blur,)
+ var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,)
+ var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,)
+ var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,)
+ var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
+ backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,)
+ var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,)
+ var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,)
+ var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,)
+ var(--tw-backdrop-sepia,);
+ }
+ .transition {
+ transition-property:
+ color,
+ background-color,
+ border-color,
+ outline-color,
+ text-decoration-color,
+ fill,
+ stroke,
+ --tw-gradient-from,
+ --tw-gradient-via,
+ --tw-gradient-to,
+ opacity,
+ box-shadow,
+ transform,
+ translate,
+ scale,
+ rotate,
+ filter,
+ -webkit-backdrop-filter,
+ backdrop-filter,
+ display,
+ visibility,
+ content-visibility,
+ overlay,
+ pointer-events;
+ transition-timing-function: var(
+ --tw-ease,
+ var(--default-transition-timing-function)
+ );
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
+ }
+ .transition-\[bottom\] {
+ transition-property: bottom;
+ transition-timing-function: var(
+ --tw-ease,
+ var(--default-transition-timing-function)
+ );
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
+ }
+ .transition-\[margin-right\] {
+ transition-property: margin-right;
+ transition-timing-function: var(
+ --tw-ease,
+ var(--default-transition-timing-function)
+ );
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
+ }
+ .transition-all {
+ transition-property: all;
+ 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;
+ }
+ .ease-in-out {
+ --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) {
+ background-color: var(--color-blue-800);
+ }
+ }
+ }
+ .hover\:bg-gray-200 {
+ &:hover {
+ @media (hover: hover) {
+ background-color: var(--color-gray-200);
+ }
+ }
+ }
+ .hover\:bg-gray-700 {
+ &:hover {
+ @media (hover: hover) {
+ background-color: var(--color-gray-700);
+ }
+ }
+ }
+ .hover\:bg-red-700 {
+ &:hover {
+ @media (hover: hover) {
+ background-color: var(--color-red-700);
+ }
+ }
+ }
+ .hover\:text-blue-600 {
+ &:hover {
+ @media (hover: hover) {
+ color: var(--color-blue-600);
+ }
+ }
+ }
+ .hover\:underline {
+ &:hover {
+ @media (hover: hover) {
+ text-decoration-line: underline;
+ }
+ }
+ }
+ .disabled\:cursor-not-allowed {
+ &:disabled {
+ cursor: not-allowed;
+ }
+ }
+ .disabled\:bg-gray-400 {
+ &:disabled {
+ background-color: var(--color-gray-400);
+ }
+ }
+ .disabled\:bg-red-300 {
+ &:disabled {
+ background-color: var(--color-red-300);
+ }
+ }
+ .disabled\:opacity-70 {
+ &:disabled {
+ opacity: 70%;
+ }
+ }
+ .disabled\:hover\:bg-red-300 {
+ &:disabled {
+ &:hover {
+ @media (hover: hover) {
+ background-color: var(--color-red-300);
+ }
+ }
+ }
+ }
+ .max-xl\:hidden {
+ @media (width < 80rem) {
+ display: none;
+ }
+ }
+ .max-xl\:px-1\.5 {
+ @media (width < 80rem) {
+ padding-inline: calc(var(--spacing) * 1.5);
+ }
+ }
+ .max-xl\:px-2\.5 {
+ @media (width < 80rem) {
+ padding-inline: calc(var(--spacing) * 2.5);
+ }
+ }
+ .max-xl\:py-1\.5 {
+ @media (width < 80rem) {
+ padding-block: calc(var(--spacing) * 1.5);
+ }
+ }
+ .max-md\:mr-0 {
+ @media (width < 48rem) {
+ margin-right: calc(var(--spacing) * 0);
+ }
+ }
+ .max-md\:hidden {
+ @media (width < 48rem) {
+ display: none;
+ }
+ }
+ .max-md\:w-full {
+ @media (width < 48rem) {
+ width: 100%;
+ }
+ }
+ .md\:mr-72 {
+ @media (width >= 48rem) {
+ margin-right: calc(var(--spacing) * 72);
+ }
+ }
+ .md\:w-72 {
+ @media (width >= 48rem) {
+ width: calc(var(--spacing) * 72);
+ }
+ }
+ .md\:w-\[calc\(100\%-18rem\)\] {
+ @media (width >= 48rem) {
+ width: calc(100% - 18rem);
+ }
+ }
+ .lg\:mr-80 {
+ @media (width >= 64rem) {
+ margin-right: calc(var(--spacing) * 80);
+ }
+ }
+ .lg\:w-80 {
+ @media (width >= 64rem) {
+ width: calc(var(--spacing) * 80);
+ }
+ }
+ .lg\:w-\[calc\(100\%-20rem\)\] {
+ @media (width >= 64rem) {
+ width: calc(100% - 20rem);
+ }
+ }
+ .xl\:mr-96 {
+ @media (width >= 80rem) {
+ margin-right: calc(var(--spacing) * 96);
+ }
+ }
+ .xl\:inline {
+ @media (width >= 80rem) {
+ display: inline;
+ }
+ }
+ .xl\:w-96 {
+ @media (width >= 80rem) {
+ width: calc(var(--spacing) * 96);
+ }
+ }
+ .xl\:w-\[calc\(100\%-24rem\)\] {
+ @media (width >= 80rem) {
+ width: calc(100% - 24rem);
+ }
+ }
+ .xl\:px-2\.5 {
+ @media (width >= 80rem) {
+ padding-inline: calc(var(--spacing) * 2.5);
+ }
+ }
+ .xl\:py-1 {
+ @media (width >= 80rem) {
+ padding-block: calc(var(--spacing) * 1);
+ }
+ }
+}
+@property --tw-rotate-x {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-rotate-y {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-rotate-z {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-skew-x {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-skew-y {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-border-style {
+ syntax: "*";
+ inherits: false;
+ initial-value: solid;
+}
+@property --tw-leading {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-font-weight {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-shadow {
+ syntax: "*";
+ inherits: false;
+ initial-value: 0 0 #0000;
+}
+@property --tw-shadow-color {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-shadow-alpha {
+ syntax: "<percentage>";
+ inherits: false;
+ initial-value: 100%;
+}
+@property --tw-inset-shadow {
+ syntax: "*";
+ inherits: false;
+ initial-value: 0 0 #0000;
+}
+@property --tw-inset-shadow-color {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-inset-shadow-alpha {
+ syntax: "<percentage>";
+ inherits: false;
+ initial-value: 100%;
+}
+@property --tw-ring-color {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-ring-shadow {
+ syntax: "*";
+ inherits: false;
+ initial-value: 0 0 #0000;
+}
+@property --tw-inset-ring-color {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-inset-ring-shadow {
+ syntax: "*";
+ inherits: false;
+ initial-value: 0 0 #0000;
+}
+@property --tw-ring-inset {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-ring-offset-width {
+ syntax: "<length>";
+ inherits: false;
+ initial-value: 0px;
+}
+@property --tw-ring-offset-color {
+ syntax: "*";
+ inherits: false;
+ initial-value: #fff;
+}
+@property --tw-ring-offset-shadow {
+ syntax: "*";
+ inherits: false;
+ initial-value: 0 0 #0000;
+}
+@property --tw-outline-style {
+ syntax: "*";
+ inherits: false;
+ initial-value: solid;
+}
+@property --tw-blur {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-brightness {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-contrast {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-grayscale {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-hue-rotate {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-invert {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-opacity {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-saturate {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-sepia {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-drop-shadow {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-drop-shadow-color {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-drop-shadow-alpha {
+ syntax: "<percentage>";
+ inherits: false;
+ initial-value: 100%;
+}
+@property --tw-drop-shadow-size {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-backdrop-blur {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-backdrop-brightness {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-backdrop-contrast {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-backdrop-grayscale {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-backdrop-hue-rotate {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-backdrop-invert {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-backdrop-opacity {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-backdrop-saturate {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-backdrop-sepia {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-duration {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-ease {
+ 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)))) {
+ *,
+ ::before,
+ ::after,
+ ::backdrop {
+ --tw-rotate-x: initial;
+ --tw-rotate-y: initial;
+ --tw-rotate-z: initial;
+ --tw-skew-x: initial;
+ --tw-skew-y: initial;
+ --tw-border-style: solid;
+ --tw-leading: initial;
+ --tw-font-weight: initial;
+ --tw-shadow: 0 0 #0000;
+ --tw-shadow-color: initial;
+ --tw-shadow-alpha: 100%;
+ --tw-inset-shadow: 0 0 #0000;
+ --tw-inset-shadow-color: initial;
+ --tw-inset-shadow-alpha: 100%;
+ --tw-ring-color: initial;
+ --tw-ring-shadow: 0 0 #0000;
+ --tw-inset-ring-color: initial;
+ --tw-inset-ring-shadow: 0 0 #0000;
+ --tw-ring-inset: initial;
+ --tw-ring-offset-width: 0px;
+ --tw-ring-offset-color: #fff;
+ --tw-ring-offset-shadow: 0 0 #0000;
+ --tw-outline-style: solid;
+ --tw-blur: initial;
+ --tw-brightness: initial;
+ --tw-contrast: initial;
+ --tw-grayscale: initial;
+ --tw-hue-rotate: initial;
+ --tw-invert: initial;
+ --tw-opacity: initial;
+ --tw-saturate: initial;
+ --tw-sepia: initial;
+ --tw-drop-shadow: initial;
+ --tw-drop-shadow-color: initial;
+ --tw-drop-shadow-alpha: 100%;
+ --tw-drop-shadow-size: initial;
+ --tw-backdrop-blur: initial;
+ --tw-backdrop-brightness: initial;
+ --tw-backdrop-contrast: initial;
+ --tw-backdrop-grayscale: initial;
+ --tw-backdrop-hue-rotate: initial;
+ --tw-backdrop-invert: initial;
+ --tw-backdrop-opacity: initial;
+ --tw-backdrop-saturate: initial;
+ --tw-backdrop-sepia: initial;
+ --tw-duration: initial;
+ --tw-ease: initial;
+ }
+ }
+}