/* [project]/src/app/globals.css [app-client] (css) */
*, :before, :after {
  --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:  ;
}

::backdrop {
  --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:  ;
}

*, :before, :after {
  box-sizing: border-box;
  border: 0 solid #e5e7eb;
}

:before, :after {
  --tw-content: "";
}

html, :host {
  -webkit-text-size-adjust: 100%;
  tab-size: 4;
  font-feature-settings: normal;
  font-variation-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;
  line-height: 1.5;
}

body {
  line-height: inherit;
  margin: 0;
}

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(--ed-font-mono);
  font-feature-settings: normal;
  font-variation-settings: normal;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub, sup {
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
  position: relative;
}

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

table {
  text-indent: 0;
  border-color: inherit;
  border-collapse: collapse;
}

button, input, optgroup, select, textarea {
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  font-family: inherit;
  font-size: 100%;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: 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: #0000;
  background-image: none;
}

:-moz-focusring {
  outline: auto;
}

:-moz-ui-invalid {
  box-shadow: none;
}

progress {
  vertical-align: baseline;
}

::-webkit-inner-spin-button {
  height: auto;
}

::-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, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol, ul, menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

dialog {
  padding: 0;
}

textarea {
  resize: vertical;
}

input::placeholder, textarea::placeholder {
  opacity: 1;
  color: #9ca3af;
}

button, [role="button"] {
  cursor: pointer;
}

:disabled {
  cursor: default;
}

img, svg, video, canvas, audio, iframe, embed, object {
  vertical-align: middle;
  display: block;
}

img, video {
  max-width: 100%;
  height: auto;
}

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

.\!container {
  width: 100% !important;
}

.container {
  width: 100%;
}

@media (min-width: 640px) {
  .\!container {
    max-width: 640px !important;
  }

  .container {
    max-width: 640px;
  }
}

@media (min-width: 768px) {
  .\!container {
    max-width: 768px !important;
  }

  .container {
    max-width: 768px;
  }
}

@media (min-width: 1024px) {
  .\!container {
    max-width: 1024px !important;
  }

  .container {
    max-width: 1024px;
  }
}

@media (min-width: 1280px) {
  .\!container {
    max-width: 1280px !important;
  }

  .container {
    max-width: 1280px;
  }
}

@media (min-width: 1536px) {
  .\!container {
    max-width: 1536px !important;
  }

  .container {
    max-width: 1536px;
  }
}

.sr-only {
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.pointer-events-none {
  pointer-events: none;
}

.pointer-events-auto {
  pointer-events: auto;
}

.visible {
  visibility: visible;
}

.invisible {
  visibility: hidden;
}

.collapse {
  visibility: collapse;
}

.static {
  position: static;
}

.\!fixed {
  position: fixed !important;
}

.fixed {
  position: fixed;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.sticky {
  position: sticky;
}

.inset-0 {
  inset: 0;
}

.inset-x-0 {
  left: 0;
  right: 0;
}

.inset-x-1 {
  left: .25rem;
  right: .25rem;
}

.inset-x-1\.5 {
  left: .375rem;
  right: .375rem;
}

.inset-x-2 {
  left: .5rem;
  right: .5rem;
}

.inset-x-2\.5 {
  left: .625rem;
  right: .625rem;
}

.inset-y-0 {
  top: 0;
  bottom: 0;
}

.-bottom-0\.5 {
  bottom: -.125rem;
}

.-bottom-px {
  bottom: -1px;
}

.-left-3\.5 {
  left: -.875rem;
}

.-left-5 {
  left: -1.25rem;
}

.-left-7 {
  left: -1.75rem;
}

.-right-0\.5 {
  right: -.125rem;
}

.-right-1\.5 {
  right: -.375rem;
}

.-right-3\.5 {
  right: -.875rem;
}

.-top-1 {
  top: -.25rem;
}

.-top-1\.5 {
  top: -.375rem;
}

.-top-1\/3 {
  top: -33.3333%;
}

.-top-2 {
  top: -.5rem;
}

.-top-8 {
  top: -2rem;
}

.-top-9 {
  top: -2.25rem;
}

.-top-\[18px\] {
  top: -18px;
}

.-top-\[34px\] {
  top: -34px;
}

.-top-px {
  top: -1px;
}

.bottom-0 {
  bottom: 0;
}

.bottom-2\.5 {
  bottom: .625rem;
}

.bottom-4 {
  bottom: 1rem;
}

.bottom-5 {
  bottom: 1.25rem;
}

.bottom-6 {
  bottom: 1.5rem;
}

.bottom-full {
  bottom: 100%;
}

.left-0 {
  left: 0;
}

.left-0\.5 {
  left: .125rem;
}

.left-1 {
  left: .25rem;
}

.left-1\/2 {
  left: 50%;
}

.left-2 {
  left: .5rem;
}

.left-2\.5 {
  left: .625rem;
}

.left-3 {
  left: .75rem;
}

.left-4 {
  left: 1rem;
}

.right-0 {
  right: 0;
}

.right-0\.5 {
  right: .125rem;
}

.right-1 {
  right: .25rem;
}

.right-1\.5 {
  right: .375rem;
}

.right-2 {
  right: .5rem;
}

.right-2\.5 {
  right: .625rem;
}

.right-3 {
  right: .75rem;
}

.right-4 {
  right: 1rem;
}

.right-6 {
  right: 1.5rem;
}

.right-8 {
  right: 2rem;
}

.top-0 {
  top: 0;
}

.top-0\.5 {
  top: .125rem;
}

.top-1 {
  top: .25rem;
}

.top-1\.5 {
  top: .375rem;
}

.top-1\/2 {
  top: 50%;
}

.top-2\.5 {
  top: .625rem;
}

.top-3 {
  top: .75rem;
}

.top-3\.5 {
  top: .875rem;
}

.top-4 {
  top: 1rem;
}

.top-\[52px\] {
  top: 52px;
}

.top-\[58px\] {
  top: 58px;
}

.top-full {
  top: 100%;
}

.isolate {
  isolation: isolate;
}

.z-0 {
  z-index: 0;
}

.z-10 {
  z-index: 10;
}

.z-20 {
  z-index: 20;
}

.z-30 {
  z-index: 30;
}

.z-40 {
  z-index: 40;
}

.z-50 {
  z-index: 50;
}

.z-\[120\] {
  z-index: 120;
}

.z-\[130\] {
  z-index: 130;
}

.z-\[140\] {
  z-index: 140;
}

.z-\[150\] {
  z-index: 150;
}

.z-\[160\] {
  z-index: 160;
}

.z-\[200\] {
  z-index: 200;
}

.z-\[300\] {
  z-index: 300;
}

.z-\[45\] {
  z-index: 45;
}

.z-\[50\] {
  z-index: 50;
}

.z-\[60\] {
  z-index: 60;
}

.z-\[80\] {
  z-index: 80;
}

.col-span-2 {
  grid-column: span 2 / span 2;
}

.m-0 {
  margin: 0;
}

.m-6 {
  margin: 1.5rem;
}

.-mx-0\.5 {
  margin-left: -.125rem;
  margin-right: -.125rem;
}

.-mx-1 {
  margin-left: -.25rem;
  margin-right: -.25rem;
}

.-mx-4 {
  margin-left: -1rem;
  margin-right: -1rem;
}

.-mx-5 {
  margin-left: -1.25rem;
  margin-right: -1.25rem;
}

.mx-0\.5 {
  margin-left: .125rem;
  margin-right: .125rem;
}

.mx-1 {
  margin-left: .25rem;
  margin-right: .25rem;
}

.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.my-0\.5 {
  margin-top: .125rem;
  margin-bottom: .125rem;
}

.my-1 {
  margin-top: .25rem;
  margin-bottom: .25rem;
}

.my-3 {
  margin-top: .75rem;
  margin-bottom: .75rem;
}

.my-8 {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.-mb-0\.5 {
  margin-bottom: -.125rem;
}

.-mb-px {
  margin-bottom: -1px;
}

.-ml-1 {
  margin-left: -.25rem;
}

.-ml-1\.5 {
  margin-left: -.375rem;
}

.-mr-1 {
  margin-right: -.25rem;
}

.-mt-0\.5 {
  margin-top: -.125rem;
}

.-mt-1 {
  margin-top: -.25rem;
}

.-mt-2 {
  margin-top: -.5rem;
}

.mb-0\.5 {
  margin-bottom: .125rem;
}

.mb-1 {
  margin-bottom: .25rem;
}

.mb-1\.5 {
  margin-bottom: .375rem;
}

.mb-2 {
  margin-bottom: .5rem;
}

.mb-2\.5 {
  margin-bottom: .625rem;
}

.mb-3 {
  margin-bottom: .75rem;
}

.mb-3\.5 {
  margin-bottom: .875rem;
}

.mb-4 {
  margin-bottom: 1rem;
}

.mb-5 {
  margin-bottom: 1.25rem;
}

.mb-6 {
  margin-bottom: 1.5rem;
}

.mb-7 {
  margin-bottom: 1.75rem;
}

.mb-8 {
  margin-bottom: 2rem;
}

.ml-0\.5 {
  margin-left: .125rem;
}

.ml-1 {
  margin-left: .25rem;
}

.ml-1\.5 {
  margin-left: .375rem;
}

.ml-2 {
  margin-left: .5rem;
}

.ml-3 {
  margin-left: .75rem;
}

.ml-5 {
  margin-left: 1.25rem;
}

.ml-auto {
  margin-left: auto;
}

.mr-0\.5 {
  margin-right: .125rem;
}

.mr-1 {
  margin-right: .25rem;
}

.mr-1\.5 {
  margin-right: .375rem;
}

.mr-2 {
  margin-right: .5rem;
}

.mr-auto {
  margin-right: auto;
}

.mt-0\.5 {
  margin-top: .125rem;
}

.mt-1 {
  margin-top: .25rem;
}

.mt-1\.5 {
  margin-top: .375rem;
}

.mt-10 {
  margin-top: 2.5rem;
}

.mt-12 {
  margin-top: 3rem;
}

.mt-2 {
  margin-top: .5rem;
}

.mt-2\.5 {
  margin-top: .625rem;
}

.mt-3 {
  margin-top: .75rem;
}

.mt-4 {
  margin-top: 1rem;
}

.mt-5 {
  margin-top: 1.25rem;
}

.mt-6 {
  margin-top: 1.5rem;
}

.mt-8 {
  margin-top: 2rem;
}

.mt-\[6px\] {
  margin-top: 6px;
}

.mt-\[7px\] {
  margin-top: 7px;
}

.mt-auto {
  margin-top: auto;
}

.mt-px {
  margin-top: 1px;
}

.line-clamp-1 {
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

.line-clamp-2 {
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

.line-clamp-3 {
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

.\!block {
  display: block !important;
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.\!inline {
  display: inline !important;
}

.inline {
  display: inline;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.table {
  display: table;
}

.grid {
  display: grid;
}

.contents {
  display: contents;
}

.\!hidden {
  display: none !important;
}

.hidden {
  display: none;
}

.aspect-\[4\/3\] {
  aspect-ratio: 4 / 3;
}

.aspect-square {
  aspect-ratio: 1;
}

.aspect-video {
  aspect-ratio: 16 / 9;
}

.size-1 {
  width: .25rem;
  height: .25rem;
}

.size-1\.5 {
  width: .375rem;
  height: .375rem;
}

.size-12 {
  width: 3rem;
  height: 3rem;
}

.h-0 {
  height: 0;
}

.h-0\.5 {
  height: .125rem;
}

.h-1 {
  height: .25rem;
}

.h-1\.5 {
  height: .375rem;
}

.h-10 {
  height: 2.5rem;
}

.h-11 {
  height: 2.75rem;
}

.h-12 {
  height: 3rem;
}

.h-14 {
  height: 3.5rem;
}

.h-16 {
  height: 4rem;
}

.h-2 {
  height: .5rem;
}

.h-2\.5 {
  height: .625rem;
}

.h-20 {
  height: 5rem;
}

.h-24 {
  height: 6rem;
}

.h-28 {
  height: 7rem;
}

.h-3 {
  height: .75rem;
}

.h-3\.5 {
  height: .875rem;
}

.h-36 {
  height: 9rem;
}

.h-4 {
  height: 1rem;
}

.h-44 {
  height: 11rem;
}

.h-5 {
  height: 1.25rem;
}

.h-6 {
  height: 1.5rem;
}

.h-7 {
  height: 1.75rem;
}

.h-8 {
  height: 2rem;
}

.h-9 {
  height: 2.25rem;
}

.h-\[110px\] {
  height: 110px;
}

.h-\[140px\] {
  height: 140px;
}

.h-\[16px\] {
  height: 16px;
}

.h-\[18px\] {
  height: 18px;
}

.h-\[22px\] {
  height: 22px;
}

.h-\[26px\] {
  height: 26px;
}

.h-\[2px\] {
  height: 2px;
}

.h-\[30px\] {
  height: 30px;
}

.h-\[3px\] {
  height: 3px;
}

.h-\[52px\] {
  height: 52px;
}

.h-\[55vh\] {
  height: 55vh;
}

.h-\[5px\] {
  height: 5px;
}

.h-\[68px\] {
  height: 68px;
}

.h-\[72px\] {
  height: 72px;
}

.h-auto {
  height: auto;
}

.h-dvh {
  height: 100dvh;
}

.h-full {
  height: 100%;
}

.h-px {
  height: 1px;
}

.h-screen {
  height: 100vh;
}

.max-h-16 {
  max-height: 4rem;
}

.max-h-28 {
  max-height: 7rem;
}

.max-h-36 {
  max-height: 9rem;
}

.max-h-40 {
  max-height: 10rem;
}

.max-h-44 {
  max-height: 11rem;
}

.max-h-52 {
  max-height: 13rem;
}

.max-h-56 {
  max-height: 14rem;
}

.max-h-60 {
  max-height: 15rem;
}

.max-h-64 {
  max-height: 16rem;
}

.max-h-72 {
  max-height: 18rem;
}

.max-h-80 {
  max-height: 20rem;
}

.max-h-\[200px\] {
  max-height: 200px;
}

.max-h-\[300px\] {
  max-height: 300px;
}

.max-h-\[360px\] {
  max-height: 360px;
}

.max-h-\[46vh\] {
  max-height: 46vh;
}

.max-h-\[52vh\] {
  max-height: 52vh;
}

.max-h-\[70vh\] {
  max-height: 70vh;
}

.max-h-\[78vh\] {
  max-height: 78vh;
}

.max-h-\[85vh\] {
  max-height: 85vh;
}

.max-h-\[min\(70vh\,22rem\)\] {
  max-height: min(70vh, 22rem);
}

.min-h-0 {
  min-height: 0;
}

.min-h-10 {
  min-height: 2.5rem;
}

.min-h-8 {
  min-height: 2rem;
}

.min-h-\[1\.4em\] {
  min-height: 1.4em;
}

.min-h-\[1\.6em\] {
  min-height: 1.6em;
}

.min-h-\[300px\] {
  min-height: 300px;
}

.min-h-\[30px\] {
  min-height: 30px;
}

.min-h-\[32px\] {
  min-height: 32px;
}

.min-h-\[36px\] {
  min-height: 36px;
}

.min-h-\[3em\] {
  min-height: 3em;
}

.min-h-\[40px\] {
  min-height: 40px;
}

.min-h-\[44px\] {
  min-height: 44px;
}

.min-h-\[64px\] {
  min-height: 64px;
}

.min-h-full {
  min-height: 100%;
}

.min-h-screen {
  min-height: 100vh;
}

.w-1\.5 {
  width: .375rem;
}

.w-1\/2 {
  width: 50%;
}

.w-1\/4 {
  width: 25%;
}

.w-10 {
  width: 2.5rem;
}

.w-11 {
  width: 2.75rem;
}

.w-12 {
  width: 3rem;
}

.w-14 {
  width: 3.5rem;
}

.w-16 {
  width: 4rem;
}

.w-2 {
  width: .5rem;
}

.w-2\.5 {
  width: .625rem;
}

.w-2\/3 {
  width: 66.6667%;
}

.w-2\/5 {
  width: 40%;
}

.w-20 {
  width: 5rem;
}

.w-24 {
  width: 6rem;
}

.w-28 {
  width: 7rem;
}

.w-3 {
  width: .75rem;
}

.w-3\.5 {
  width: .875rem;
}

.w-3\/4 {
  width: 75%;
}

.w-3\/5 {
  width: 60%;
}

.w-32 {
  width: 8rem;
}

.w-36 {
  width: 9rem;
}

.w-4 {
  width: 1rem;
}

.w-40 {
  width: 10rem;
}

.w-44 {
  width: 11rem;
}

.w-48 {
  width: 12rem;
}

.w-5 {
  width: 1.25rem;
}

.w-5\/6 {
  width: 83.3333%;
}

.w-52 {
  width: 13rem;
}

.w-56 {
  width: 14rem;
}

.w-6 {
  width: 1.5rem;
}

.w-60 {
  width: 15rem;
}

.w-64 {
  width: 16rem;
}

.w-7 {
  width: 1.75rem;
}

.w-72 {
  width: 18rem;
}

.w-8 {
  width: 2rem;
}

.w-9 {
  width: 2.25rem;
}

.w-\[120px\] {
  width: 120px;
}

.w-\[128px\] {
  width: 128px;
}

.w-\[130px\] {
  width: 130px;
}

.w-\[132px\] {
  width: 132px;
}

.w-\[13rem\] {
  width: 13rem;
}

.w-\[140px\] {
  width: 140px;
}

.w-\[150px\] {
  width: 150px;
}

.w-\[160px\] {
  width: 160px;
}

.w-\[16px\] {
  width: 16px;
}

.w-\[200px\] {
  width: 200px;
}

.w-\[22px\] {
  width: 22px;
}

.w-\[264px\] {
  width: 264px;
}

.w-\[280px\] {
  width: 280px;
}

.w-\[288px\] {
  width: 288px;
}

.w-\[300px\] {
  width: 300px;
}

.w-\[320px\] {
  width: 320px;
}

.w-\[340px\] {
  width: 340px;
}

.w-\[3px\] {
  width: 3px;
}

.w-\[4\.5rem\] {
  width: 4.5rem;
}

.w-\[420px\] {
  width: 420px;
}

.w-\[52px\] {
  width: 52px;
}

.w-\[55vh\] {
  width: 55vh;
}

.w-\[58px\] {
  width: 58px;
}

.w-\[5px\] {
  width: 5px;
}

.w-\[60px\] {
  width: 60px;
}

.w-\[76px\] {
  width: 76px;
}

.w-\[80\%\] {
  width: 80%;
}

.w-\[88px\] {
  width: 88px;
}

.w-\[92px\] {
  width: 92px;
}

.w-\[min\(380px\,calc\(100vw-1\.5rem\)\)\] {
  width: min(380px, 100vw - 1.5rem);
}

.w-\[min\(760px\,94vw\)\] {
  width: min(760px, 94vw);
}

.w-auto {
  width: auto;
}

.w-fit {
  width: -moz-fit-content;
  width: fit-content;
}

.w-full {
  width: 100%;
}

.w-max {
  width: max-content;
}

.w-px {
  width: 1px;
}

.min-w-0 {
  min-width: 0;
}

.min-w-44 {
  min-width: 11rem;
}

.min-w-\[0\.875rem\] {
  min-width: .875rem;
}

.min-w-\[120px\] {
  min-width: 120px;
}

.min-w-\[140px\] {
  min-width: 140px;
}

.min-w-\[160px\] {
  min-width: 160px;
}

.min-w-\[184px\] {
  min-width: 184px;
}

.min-w-\[188px\] {
  min-width: 188px;
}

.min-w-\[19rem\] {
  min-width: 19rem;
}

.min-w-\[2\.5rem\] {
  min-width: 2.5rem;
}

.min-w-\[200px\] {
  min-width: 200px;
}

.min-w-\[208px\] {
  min-width: 208px;
}

.min-w-\[220px\] {
  min-width: 220px;
}

.min-w-\[240px\] {
  min-width: 240px;
}

.min-w-\[34px\] {
  min-width: 34px;
}

.min-w-\[34rem\] {
  min-width: 34rem;
}

.min-w-\[76px\] {
  min-width: 76px;
}

.min-w-\[920px\] {
  min-width: 920px;
}

.min-w-fit {
  min-width: -moz-fit-content;
  min-width: fit-content;
}

.min-w-max {
  min-width: max-content;
}

.max-w-2xl {
  max-width: 42rem;
}

.max-w-3xl {
  max-width: 48rem;
}

.max-w-40 {
  max-width: 10rem;
}

.max-w-4xl {
  max-width: 56rem;
}

.max-w-5xl {
  max-width: 64rem;
}

.max-w-6xl {
  max-width: 72rem;
}

.max-w-7xl {
  max-width: 80rem;
}

.max-w-\[10ch\] {
  max-width: 10ch;
}

.max-w-\[1100px\] {
  max-width: 1100px;
}

.max-w-\[120px\] {
  max-width: 120px;
}

.max-w-\[13rem\] {
  max-width: 13rem;
}

.max-w-\[140px\] {
  max-width: 140px;
}

.max-w-\[14ch\] {
  max-width: 14ch;
}

.max-w-\[160px\] {
  max-width: 160px;
}

.max-w-\[16rem\] {
  max-width: 16rem;
}

.max-w-\[19rem\] {
  max-width: 19rem;
}

.max-w-\[200px\] {
  max-width: 200px;
}

.max-w-\[220px\] {
  max-width: 220px;
}

.max-w-\[240px\] {
  max-width: 240px;
}

.max-w-\[260px\] {
  max-width: 260px;
}

.max-w-\[280px\] {
  max-width: 280px;
}

.max-w-\[300px\] {
  max-width: 300px;
}

.max-w-\[320px\] {
  max-width: 320px;
}

.max-w-\[34ch\] {
  max-width: 34ch;
}

.max-w-\[40\%\] {
  max-width: 40%;
}

.max-w-\[400px\] {
  max-width: 400px;
}

.max-w-\[40rem\] {
  max-width: 40rem;
}

.max-w-\[45\%\] {
  max-width: 45%;
}

.max-w-\[480px\] {
  max-width: 480px;
}

.max-w-\[55\%\] {
  max-width: 55%;
}

.max-w-\[60\%\] {
  max-width: 60%;
}

.max-w-\[600px\] {
  max-width: 600px;
}

.max-w-\[640px\] {
  max-width: 640px;
}

.max-w-\[68ch\] {
  max-width: 68ch;
}

.max-w-\[70vw\] {
  max-width: 70vw;
}

.max-w-\[760px\] {
  max-width: 760px;
}

.max-w-\[82vw\] {
  max-width: 82vw;
}

.max-w-\[85\%\] {
  max-width: 85%;
}

.max-w-\[95\%\] {
  max-width: 95%;
}

.max-w-full {
  max-width: 100%;
}

.max-w-md {
  max-width: 28rem;
}

.max-w-none {
  max-width: none;
}

.max-w-sm {
  max-width: 24rem;
}

.flex-1 {
  flex: 1;
}

.flex-\[2\] {
  flex: 2;
}

.flex-auto {
  flex: auto;
}

.flex-shrink, .shrink {
  flex-shrink: 1;
}

.shrink-0 {
  flex-shrink: 0;
}

.flex-grow, .grow {
  flex-grow: 1;
}

.basis-\[160px\] {
  flex-basis: 160px;
}

.border-collapse {
  border-collapse: collapse;
}

.origin-top-left {
  transform-origin: 0 0;
}

.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-0\.5 {
  --tw-translate-x: .125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-y-\[2px\] {
  --tw-translate-y: 2px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-rotate-45 {
  --tw-rotate: -45deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-rotate-90 {
  --tw-rotate: -90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.rotate-0 {
  --tw-rotate: 0deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.rotate-45 {
  --tw-rotate: 45deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.rotate-90 {
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.scale-90 {
  --tw-scale-x: .9;
  --tw-scale-y: .9;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@keyframes bounce {
  0%, 100% {
    animation-timing-function: cubic-bezier(.8, 0, 1, 1);
    transform: translateY(-25%);
  }

  50% {
    animation-timing-function: cubic-bezier(0, 0, .2, 1);
    transform: none;
  }
}

.animate-bounce {
  animation: 1s infinite bounce;
}

@keyframes ping {
  75%, 100% {
    opacity: 0;
    transform: scale(2);
  }
}

.animate-ping {
  animation: 1s cubic-bezier(0, 0, .2, 1) infinite ping;
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}

.animate-pulse {
  animation: 2s cubic-bezier(.4, 0, .6, 1) infinite pulse;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.animate-spin {
  animation: 1s linear infinite spin;
}

.cursor-col-resize {
  cursor: col-resize;
}

.cursor-copy {
  cursor: copy;
}

.cursor-crosshair {
  cursor: crosshair;
}

.cursor-default {
  cursor: default;
}

.cursor-ew-resize {
  cursor: ew-resize;
}

.cursor-grab {
  cursor: grab;
}

.cursor-grabbing {
  cursor: grabbing;
}

.cursor-help {
  cursor: help;
}

.cursor-not-allowed {
  cursor: not-allowed;
}

.cursor-pointer {
  cursor: pointer;
}

.cursor-row-resize {
  cursor: row-resize;
}

.cursor-wait {
  cursor: wait;
}

.touch-none {
  touch-action: none;
}

.select-none {
  -webkit-user-select: none;
  user-select: none;
}

.select-all {
  -webkit-user-select: all;
  user-select: all;
}

.resize-none {
  resize: none;
}

.resize-y {
  resize: vertical;
}

.resize {
  resize: both;
}

.scroll-mt-4 {
  scroll-margin-top: 1rem;
}

.list-inside {
  list-style-position: inside;
}

.list-decimal {
  list-style-type: decimal;
}

.list-disc {
  list-style-type: disc;
}

.list-none {
  list-style-type: none;
}

.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.grid-cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.grid-cols-8 {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}

.grid-cols-\[1fr_1fr_minmax\(0\,0\.8fr\)_minmax\(0\,0\.8fr\)_auto\] {
  grid-template-columns: 1fr 1fr minmax(0, .8fr) minmax(0, .8fr) auto;
}

.grid-cols-\[auto_1fr\] {
  grid-template-columns: auto 1fr;
}

.grid-cols-\[max-content_1fr\] {
  grid-template-columns: max-content 1fr;
}

.grid-rows-2 {
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.flex-row {
  flex-direction: row;
}

.flex-row-reverse {
  flex-direction: row-reverse;
}

.flex-col {
  flex-direction: column;
}

.flex-wrap {
  flex-wrap: wrap;
}

.place-items-center {
  place-items: center;
}

.content-start {
  align-content: flex-start;
}

.items-start {
  align-items: flex-start;
}

.items-end {
  align-items: flex-end;
}

.items-center {
  align-items: center;
}

.items-baseline {
  align-items: baseline;
}

.items-stretch {
  align-items: stretch;
}

.justify-end {
  justify-content: flex-end;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.justify-items-center {
  justify-items: center;
}

.gap-0\.5 {
  gap: .125rem;
}

.gap-1 {
  gap: .25rem;
}

.gap-1\.5 {
  gap: .375rem;
}

.gap-2 {
  gap: .5rem;
}

.gap-2\.5 {
  gap: .625rem;
}

.gap-3 {
  gap: .75rem;
}

.gap-4 {
  gap: 1rem;
}

.gap-5 {
  gap: 1.25rem;
}

.gap-6 {
  gap: 1.5rem;
}

.gap-7 {
  gap: 1.75rem;
}

.gap-\[2px\] {
  gap: 2px;
}

.gap-px {
  gap: 1px;
}

.gap-x-1 {
  column-gap: .25rem;
}

.gap-x-1\.5 {
  column-gap: .375rem;
}

.gap-x-2 {
  column-gap: .5rem;
}

.gap-x-2\.5 {
  column-gap: .625rem;
}

.gap-x-3 {
  column-gap: .75rem;
}

.gap-x-4 {
  column-gap: 1rem;
}

.gap-x-5 {
  column-gap: 1.25rem;
}

.gap-x-6 {
  column-gap: 1.5rem;
}

.gap-y-0\.5 {
  row-gap: .125rem;
}

.gap-y-1 {
  row-gap: .25rem;
}

.gap-y-1\.5 {
  row-gap: .375rem;
}

.gap-y-2 {
  row-gap: .5rem;
}

.gap-y-3 {
  row-gap: .75rem;
}

.gap-y-4 {
  row-gap: 1rem;
}

.gap-y-6 {
  row-gap: 1.5rem;
}

.space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(.125rem * var(--tw-space-y-reverse));
}

.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(.25rem * var(--tw-space-y-reverse));
}

.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(.375rem * var(--tw-space-y-reverse));
}

.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(.5rem * var(--tw-space-y-reverse));
}

.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(.75rem * var(--tw-space-y-reverse));
}

.space-y-3\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(.875rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(.875rem * var(--tw-space-y-reverse));
}

.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}

.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}

.divide-ed-border-faint > :not([hidden]) ~ :not([hidden]) {
  border-color: var(--ed-border-faint);
}

.self-start {
  align-self: flex-start;
}

.self-end {
  align-self: flex-end;
}

.self-stretch {
  align-self: stretch;
}

.overflow-auto {
  overflow: auto;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-clip {
  overflow: clip;
}

.overflow-x-auto {
  overflow-x: auto;
}

.overflow-y-auto {
  overflow-y: auto;
}

.truncate {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.text-clip {
  text-overflow: clip;
}

.whitespace-normal {
  white-space: normal;
}

.whitespace-nowrap {
  white-space: nowrap;
}

.whitespace-pre-line {
  white-space: pre-line;
}

.whitespace-pre-wrap {
  white-space: pre-wrap;
}

.break-words {
  overflow-wrap: break-word;
}

.break-all {
  word-break: break-all;
}

.rounded {
  border-radius: .25rem;
}

.rounded-\[16px\] {
  border-radius: 16px;
}

.rounded-\[1px\] {
  border-radius: 1px;
}

.rounded-\[2px\] {
  border-radius: 2px;
}

.rounded-\[3px\] {
  border-radius: 3px;
}

.rounded-\[4px\] {
  border-radius: 4px;
}

.rounded-\[5px\] {
  border-radius: 5px;
}

.rounded-ed-lg {
  border-radius: var(--ed-radius-lg);
}

.rounded-ed-md {
  border-radius: var(--ed-radius-md);
}

.rounded-ed-sm {
  border-radius: var(--ed-radius-sm);
}

.rounded-ed-xs {
  border-radius: var(--ed-radius-xs);
}

.rounded-full {
  border-radius: 9999px;
}

.rounded-lg {
  border-radius: .5rem;
}

.rounded-none {
  border-radius: 0;
}

.rounded-sm {
  border-radius: .125rem;
}

.rounded-b-\[5px\] {
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
}

.rounded-b-ed-lg {
  border-bottom-right-radius: var(--ed-radius-lg);
  border-bottom-left-radius: var(--ed-radius-lg);
}

.rounded-b-ed-md {
  border-bottom-right-radius: var(--ed-radius-md);
  border-bottom-left-radius: var(--ed-radius-md);
}

.rounded-l-ed-md {
  border-top-left-radius: var(--ed-radius-md);
  border-bottom-left-radius: var(--ed-radius-md);
}

.rounded-t-\[5px\] {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}

.border {
  border-width: 1px;
}

.border-0 {
  border-width: 0;
}

.border-2 {
  border-width: 2px;
}

.border-y-2 {
  border-top-width: 2px;
  border-bottom-width: 2px;
}

.border-b {
  border-bottom-width: 1px;
}

.border-b-2 {
  border-bottom-width: 2px;
}

.border-l {
  border-left-width: 1px;
}

.border-l-2 {
  border-left-width: 2px;
}

.border-l-4 {
  border-left-width: 4px;
}

.border-l-\[3px\] {
  border-left-width: 3px;
}

.border-r {
  border-right-width: 1px;
}

.border-t {
  border-top-width: 1px;
}

.border-t-2 {
  border-top-width: 2px;
}

.border-dashed {
  border-style: dashed;
}

.border-amber-200 {
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}

.border-amber-500\/40 {
  border-color: #f59e0b66;
}

.border-black\/70 {
  border-color: #000000b3;
}

.border-current {
  border-color: currentColor;
}

.border-ed-accent {
  border-color: var(--ed-accent);
}

.border-ed-accent-soft {
  border-color: var(--ed-accent-soft);
}

.border-ed-border {
  border-color: var(--ed-border);
}

.border-ed-border-faint {
  border-color: var(--ed-border-faint);
}

.border-ed-border-strong {
  border-color: var(--ed-border-strong);
}

.border-ed-danger {
  border-color: var(--ed-danger);
}

.border-ed-dropzone {
  border-color: var(--ed-dropzone);
}

.border-ed-text-strong {
  border-color: var(--ed-text-strong);
}

.border-ed-warning {
  border-color: var(--ed-warning);
}

.border-emerald-500\/40 {
  border-color: #10b98166;
}

.border-red-500\/30 {
  border-color: #ef44444d;
}

.border-red-500\/40 {
  border-color: #ef444466;
}

.border-transparent {
  border-color: #0000;
}

.border-white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

.border-amber-500\/30 {
  border-color: #f59e0b4d;
}

.bg-\[\#28c840\] {
  --tw-bg-opacity: 1;
  background-color: rgb(40 200 64 / var(--tw-bg-opacity, 1));
}

.bg-\[\#febc2e\] {
  --tw-bg-opacity: 1;
  background-color: rgb(254 188 46 / var(--tw-bg-opacity, 1));
}

.bg-\[\#ff5f57\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 95 87 / var(--tw-bg-opacity, 1));
}

.bg-\[rgba\(30\,32\,48\,0\.6\)\] {
  background-color: #1e203099;
}

.bg-amber-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}

.bg-amber-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}

.bg-amber-500\/10 {
  background-color: #f59e0b1a;
}

.bg-amber-500\/15 {
  background-color: #f59e0b26;
}

.bg-black\/0 {
  background-color: #0000;
}

.bg-black\/40 {
  background-color: #0006;
}

.bg-current {
  background-color: currentColor;
}

.bg-ed-accent {
  background-color: var(--ed-accent);
}

.bg-ed-accent-soft {
  background-color: var(--ed-accent-soft);
}

.bg-ed-bg-active {
  background-color: var(--ed-bg-active);
}

.bg-ed-bg-app {
  background-color: var(--ed-bg-app);
}

.bg-ed-bg-canvas {
  background-color: var(--ed-bg-canvas);
}

.bg-ed-bg-elevated {
  background-color: var(--ed-bg-elevated);
}

.bg-ed-bg-hover {
  background-color: var(--ed-bg-hover);
}

.bg-ed-bg-inset {
  background-color: var(--ed-bg-inset);
}

.bg-ed-bg-panel {
  background-color: var(--ed-bg-panel);
}

.bg-ed-border {
  background-color: var(--ed-border);
}

.bg-ed-border-faint {
  background-color: var(--ed-border-faint);
}

.bg-ed-border-strong {
  background-color: var(--ed-border-strong);
}

.bg-ed-danger {
  background-color: var(--ed-danger);
}

.bg-ed-danger-soft {
  background-color: var(--ed-danger-soft);
}

.bg-ed-dropzone-soft {
  background-color: var(--ed-dropzone-soft);
}

.bg-ed-hover-outline {
  background-color: var(--ed-hover-outline);
}

.bg-ed-success {
  background-color: var(--ed-success);
}

.bg-ed-success-soft {
  background-color: var(--ed-success-soft);
}

.bg-ed-text-faint {
  background-color: var(--ed-text-faint);
}

.bg-ed-text-strong {
  background-color: var(--ed-text-strong);
}

.bg-ed-warning {
  background-color: var(--ed-warning);
}

.bg-ed-warning-soft {
  background-color: var(--ed-warning-soft);
}

.bg-emerald-500\/10 {
  background-color: #10b9811a;
}

.bg-emerald-500\/15 {
  background-color: #10b98126;
}

.bg-red-500\/10 {
  background-color: #ef44441a;
}

.bg-red-500\/15 {
  background-color: #ef444426;
}

.bg-red-500\/\[0\.06\] {
  background-color: #ef44440f;
}

.bg-sky-500\/15 {
  background-color: #0ea5e926;
}

.bg-transparent {
  background-color: #0000;
}

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.bg-\[repeating-linear-gradient\(45deg\,transparent\,transparent_6px\,var\(--ed-bg-inset\)_6px\,var\(--ed-bg-inset\)_12px\)\] {
  background-image: repeating-linear-gradient(45deg,transparent,transparent 6px,var(--ed-bg-inset) 6px,var(--ed-bg-inset) 12px);
}

.fill-current {
  fill: currentColor;
}

.object-contain {
  object-fit: contain;
}

.object-cover {
  object-fit: cover;
}

.p-0 {
  padding: 0;
}

.p-0\.5 {
  padding: .125rem;
}

.p-1 {
  padding: .25rem;
}

.p-1\.5 {
  padding: .375rem;
}

.p-10 {
  padding: 2.5rem;
}

.p-2 {
  padding: .5rem;
}

.p-2\.5 {
  padding: .625rem;
}

.p-3 {
  padding: .75rem;
}

.p-3\.5 {
  padding: .875rem;
}

.p-4 {
  padding: 1rem;
}

.p-6 {
  padding: 1.5rem;
}

.p-8 {
  padding: 2rem;
}

.px-0\.5 {
  padding-left: .125rem;
  padding-right: .125rem;
}

.px-1 {
  padding-left: .25rem;
  padding-right: .25rem;
}

.px-1\.5 {
  padding-left: .375rem;
  padding-right: .375rem;
}

.px-10 {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.px-12 {
  padding-left: 3rem;
  padding-right: 3rem;
}

.px-2 {
  padding-left: .5rem;
  padding-right: .5rem;
}

.px-2\.5 {
  padding-left: .625rem;
  padding-right: .625rem;
}

.px-3 {
  padding-left: .75rem;
  padding-right: .75rem;
}

.px-3\.5 {
  padding-left: .875rem;
  padding-right: .875rem;
}

.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.px-7 {
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}

.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}

.py-0\.5 {
  padding-top: .125rem;
  padding-bottom: .125rem;
}

.py-1 {
  padding-top: .25rem;
  padding-bottom: .25rem;
}

.py-1\.5 {
  padding-top: .375rem;
  padding-bottom: .375rem;
}

.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.py-14 {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}

.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.py-2 {
  padding-top: .5rem;
  padding-bottom: .5rem;
}

.py-2\.5 {
  padding-top: .625rem;
  padding-bottom: .625rem;
}

.py-20 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.py-3 {
  padding-top: .75rem;
  padding-bottom: .75rem;
}

.py-3\.5 {
  padding-top: .875rem;
  padding-bottom: .875rem;
}

.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.py-7 {
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
}

.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.py-9 {
  padding-top: 2.25rem;
  padding-bottom: 2.25rem;
}

.pb-0 {
  padding-bottom: 0;
}

.pb-0\.5 {
  padding-bottom: .125rem;
}

.pb-1 {
  padding-bottom: .25rem;
}

.pb-1\.5 {
  padding-bottom: .375rem;
}

.pb-2 {
  padding-bottom: .5rem;
}

.pb-2\.5 {
  padding-bottom: .625rem;
}

.pb-24 {
  padding-bottom: 6rem;
}

.pb-3 {
  padding-bottom: .75rem;
}

.pb-3\.5 {
  padding-bottom: .875rem;
}

.pb-4 {
  padding-bottom: 1rem;
}

.pb-44 {
  padding-bottom: 11rem;
}

.pl-1 {
  padding-left: .25rem;
}

.pl-1\.5 {
  padding-left: .375rem;
}

.pl-12 {
  padding-left: 3rem;
}

.pl-2 {
  padding-left: .5rem;
}

.pl-2\.5 {
  padding-left: .625rem;
}

.pl-3 {
  padding-left: .75rem;
}

.pl-4 {
  padding-left: 1rem;
}

.pl-5 {
  padding-left: 1.25rem;
}

.pl-6 {
  padding-left: 1.5rem;
}

.pl-7 {
  padding-left: 1.75rem;
}

.pl-8 {
  padding-left: 2rem;
}

.pl-9 {
  padding-left: 2.25rem;
}

.pl-\[18px\] {
  padding-left: 18px;
}

.pl-\[26px\] {
  padding-left: 26px;
}

.pl-\[86px\] {
  padding-left: 86px;
}

.pr-0 {
  padding-right: 0;
}

.pr-1 {
  padding-right: .25rem;
}

.pr-1\.5 {
  padding-right: .375rem;
}

.pr-14 {
  padding-right: 3.5rem;
}

.pr-2 {
  padding-right: .5rem;
}

.pr-2\.5 {
  padding-right: .625rem;
}

.pr-3 {
  padding-right: .75rem;
}

.pr-3\.5 {
  padding-right: .875rem;
}

.pr-4 {
  padding-right: 1rem;
}

.pr-5 {
  padding-right: 1.25rem;
}

.pr-7 {
  padding-right: 1.75rem;
}

.pr-8 {
  padding-right: 2rem;
}

.pr-9 {
  padding-right: 2.25rem;
}

.pt-0\.5 {
  padding-top: .125rem;
}

.pt-1 {
  padding-top: .25rem;
}

.pt-1\.5 {
  padding-top: .375rem;
}

.pt-2 {
  padding-top: .5rem;
}

.pt-2\.5 {
  padding-top: .625rem;
}

.pt-3 {
  padding-top: .75rem;
}

.pt-3\.5 {
  padding-top: .875rem;
}

.pt-4 {
  padding-top: 1rem;
}

.pt-5 {
  padding-top: 1.25rem;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.align-top {
  vertical-align: top;
}

.font-mono {
  font-family: var(--ed-font-mono);
}

.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}

.text-2xs {
  font-size: 10px;
  line-height: 14px;
}

.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}

.text-\[1\.9rem\] {
  font-size: 1.9rem;
}

.text-\[10px\] {
  font-size: 10px;
}

.text-\[11px\] {
  font-size: 11px;
}

.text-\[13px\] {
  font-size: 13px;
}

.text-\[14px\] {
  font-size: 14px;
}

.text-\[15px\] {
  font-size: 15px;
}

.text-\[16px\] {
  font-size: 16px;
}

.text-\[19px\] {
  font-size: 19px;
}

.text-\[20px\] {
  font-size: 20px;
}

.text-\[22px\] {
  font-size: 22px;
}

.text-\[24px\] {
  font-size: 24px;
}

.text-\[30px\] {
  font-size: 30px;
}

.text-\[32px\] {
  font-size: 32px;
}

.text-\[8px\] {
  font-size: 8px;
}

.text-\[9px\] {
  font-size: 9px;
}

.text-ed-2xs {
  font-size: 10px;
  line-height: 14px;
}

.text-ed-base {
  font-size: 13px;
  line-height: 18px;
}

.text-ed-lg {
  font-size: 16px;
  line-height: 22px;
}

.text-ed-md {
  font-size: 14px;
  line-height: 20px;
}

.text-ed-sm {
  font-size: 12px;
  line-height: 16px;
}

.text-ed-xl {
  font-size: 20px;
  line-height: 26px;
}

.text-ed-xs {
  font-size: 11px;
  line-height: 16px;
}

.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.text-sm {
  font-size: .875rem;
  line-height: 1.25rem;
}

.text-xs {
  font-size: .75rem;
  line-height: 1rem;
}

.font-bold {
  font-weight: 700;
}

.font-medium {
  font-weight: 500;
}

.font-normal {
  font-weight: 400;
}

.font-semibold {
  font-weight: 600;
}

.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

.capitalize {
  text-transform: capitalize;
}

.normal-case {
  text-transform: none;
}

.italic {
  font-style: italic;
}

.tabular-nums {
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.leading-\[1\.1\] {
  line-height: 1.1;
}

.leading-none {
  line-height: 1;
}

.leading-relaxed {
  line-height: 1.625;
}

.leading-snug {
  line-height: 1.375;
}

.leading-tight {
  line-height: 1.25;
}

.tracking-\[-0\.01em\] {
  letter-spacing: -.01em;
}

.tracking-\[0\.01em\] {
  letter-spacing: .01em;
}

.tracking-\[0\.04em\] {
  letter-spacing: .04em;
}

.tracking-\[0\.08em\] {
  letter-spacing: .08em;
}

.tracking-\[0\.12em\] {
  letter-spacing: .12em;
}

.tracking-\[0\.14em\] {
  letter-spacing: .14em;
}

.tracking-\[0\.18em\] {
  letter-spacing: .18em;
}

.tracking-normal {
  letter-spacing: 0;
}

.tracking-tight {
  letter-spacing: -.025em;
}

.tracking-tighter {
  letter-spacing: -.05em;
}

.tracking-wide {
  letter-spacing: .025em;
}

.text-\[\#1a0dab\] {
  --tw-text-opacity: 1;
  color: rgb(26 13 171 / var(--tw-text-opacity, 1));
}

.text-\[\#202124\] {
  --tw-text-opacity: 1;
  color: rgb(32 33 36 / var(--tw-text-opacity, 1));
}

.text-\[\#4d5156\] {
  --tw-text-opacity: 1;
  color: rgb(77 81 86 / var(--tw-text-opacity, 1));
}

.text-amber-600 {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}

.text-amber-700 {
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}

.text-amber-900 {
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / var(--tw-text-opacity, 1));
}

.text-ed-accent {
  color: var(--ed-accent);
}

.text-ed-bg-elevated {
  color: var(--ed-bg-elevated);
}

.text-ed-bg-panel {
  color: var(--ed-bg-panel);
}

.text-ed-border-strong {
  color: var(--ed-border-strong);
}

.text-ed-danger {
  color: var(--ed-danger);
}

.text-ed-success {
  color: var(--ed-success);
}

.text-ed-text-default {
  color: var(--ed-text-default);
}

.text-ed-text-faint {
  color: var(--ed-text-faint);
}

.text-ed-text-muted {
  color: var(--ed-text-muted);
}

.text-ed-text-on-accent {
  color: var(--ed-text-on-accent);
}

.text-ed-text-on-danger {
  color: var(--ed-text-on-danger);
}

.text-ed-text-strong {
  color: var(--ed-text-strong);
}

.text-ed-warning {
  color: var(--ed-warning);
}

.text-emerald-500 {
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}

.text-emerald-600 {
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}

.text-emerald-700 {
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}

.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.text-inherit {
  color: inherit;
}

.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}

.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.text-red-700 {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}

.text-sky-600 {
  --tw-text-opacity: 1;
  color: rgb(2 132 199 / var(--tw-text-opacity, 1));
}

.text-transparent {
  color: #0000;
}

.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.text-white\/0 {
  color: #fff0;
}

.underline {
  text-decoration-line: underline;
}

.overline {
  text-decoration-line: overline;
}

.line-through {
  text-decoration-line: line-through;
}

.decoration-dotted {
  text-decoration-style: dotted;
}

.underline-offset-2 {
  text-underline-offset: 2px;
}

.accent-\[var\(--ed-accent\)\], .accent-ed-accent {
  accent-color: var(--ed-accent);
}

.opacity-0 {
  opacity: 0;
}

.opacity-100 {
  opacity: 1;
}

.opacity-30 {
  opacity: .3;
}

.opacity-40 {
  opacity: .4;
}

.opacity-45 {
  opacity: .45;
}

.opacity-50 {
  opacity: .5;
}

.opacity-55 {
  opacity: .55;
}

.opacity-60 {
  opacity: .6;
}

.opacity-70 {
  opacity: .7;
}

.opacity-80 {
  opacity: .8;
}

.opacity-\[0\.16\] {
  opacity: .16;
}

.mix-blend-difference {
  mix-blend-mode: difference;
}

.shadow {
  --tw-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_0_0_1\.5px_var\(--ed-accent\)\] {
  --tw-shadow: 0 0 0 1.5px var(--ed-accent);
  --tw-shadow-colored: 0 0 0 1.5px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_0_0_1px_var\(--ed-accent\)\] {
  --tw-shadow: 0 0 0 1px var(--ed-accent);
  --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_0_0_2px_var\(--ed-accent-soft\)\] {
  --tw-shadow: 0 0 0 2px var(--ed-accent-soft);
  --tw-shadow-colored: 0 0 0 2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_0_0_3px_var\(--ed-accent-soft\)\] {
  --tw-shadow: 0 0 0 3px var(--ed-accent-soft);
  --tw-shadow-colored: 0 0 0 3px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[inset_2px_0_0_var\(--ed-accent\)\] {
  --tw-shadow: inset 2px 0 0 var(--ed-accent);
  --tw-shadow-colored: inset 2px 0 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);
}

.shadow-ed-lg {
  --tw-shadow: var(--ed-shadow-lg);
  --tw-shadow-colored: var(--ed-shadow-lg);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-ed-md {
  --tw-shadow: var(--ed-shadow-md);
  --tw-shadow-colored: var(--ed-shadow-md);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-ed-sm {
  --tw-shadow: var(--ed-shadow-sm);
  --tw-shadow-colored: var(--ed-shadow-sm);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-ed-xl {
  --tw-shadow: var(--ed-shadow-xl);
  --tw-shadow-colored: var(--ed-shadow-xl);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-lg {
  --tw-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.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);
}

.outline-none {
  outline-offset: 2px;
  outline: 2px solid #0000;
}

.outline {
  outline-style: solid;
}

.outline-2 {
  outline-width: 2px;
}

.outline-offset-2 {
  outline-offset: 2px;
}

.outline-offset-\[-1px\] {
  outline-offset: -1px;
}

.outline-ed-accent {
  outline-color: var(--ed-accent);
}

.outline-ed-select-outline {
  outline-color: var(--ed-select-outline);
}

.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.ring-1 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.ring-2 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.ring-ed-accent {
  --tw-ring-color: var(--ed-accent);
}

.ring-ed-border {
  --tw-ring-color: var(--ed-border);
}

.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);
}

.blur-3xl {
  --tw-blur: blur(64px);
  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);
}

.brightness-\[0\.65\] {
  --tw-brightness: brightness(.65);
  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);
}

.drop-shadow {
  --tw-drop-shadow: drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);
  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);
}

.grayscale {
  --tw-grayscale: grayscale(100%);
  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);
}

.invert {
  --tw-invert: invert(100%);
  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);
}

.filter {
  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-blur-\[1px\] {
  --tw-backdrop-blur: blur(1px);
  -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, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter, backdrop-filter;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-\[background-color\,border-color\,color\,transform\] {
  transition-property: background-color, border-color, color, transform;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-\[background-color\,color\,box-shadow\,transform\] {
  transition-property: background-color, color, box-shadow, transform;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-\[background-color\,color\,opacity\] {
  transition-property: background-color, color, opacity;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-\[background-color\,color\,transform\] {
  transition-property: background-color, color, transform;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-\[background-color\,color\] {
  transition-property: background-color, color;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-\[background-color\,transform\,box-shadow\] {
  transition-property: background-color, transform, box-shadow;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-\[background-color\,transform\] {
  transition-property: background-color, transform;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-\[border-color\,background-color\,box-shadow\] {
  transition-property: border-color, background-color, box-shadow;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-\[border-color\,box-shadow\,transform\] {
  transition-property: border-color, box-shadow, transform;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-\[border-color\,box-shadow\] {
  transition-property: border-color, box-shadow;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-\[border-color\] {
  transition-property: border-color;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-\[box-shadow\,background-color\] {
  transition-property: box-shadow, background-color;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-\[color\,opacity\] {
  transition-property: color, opacity;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-\[max-width\] {
  transition-property: max-width;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-\[opacity\,color\,background-color\] {
  transition-property: opacity, color, background-color;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-\[opacity\,transform\] {
  transition-property: opacity, transform;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-\[outline-color\] {
  transition-property: outline-color;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-\[padding\] {
  transition-property: padding;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-\[transform\,border-color\,background-color\,color\] {
  transition-property: transform, border-color, background-color, color;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-\[transform\,box-shadow\,background-color\] {
  transition-property: transform, box-shadow, background-color;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-\[transform\,box-shadow\,border-color\] {
  transition-property: transform, box-shadow, border-color;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-\[width\,max-width\] {
  transition-property: width, max-width;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-\[width\] {
  transition-property: width;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-all {
  transition-property: all;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-opacity {
  transition-property: opacity;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-shadow {
  transition-property: box-shadow;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-transform {
  transition-property: transform;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.duration-100 {
  transition-duration: .1s;
}

.duration-150 {
  transition-duration: .15s;
}

.duration-200 {
  transition-duration: .2s;
}

.duration-300 {
  transition-duration: .3s;
}

.duration-500 {
  transition-duration: .5s;
}

.ease-ed-in-out {
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.ease-ed-out {
  transition-timing-function: cubic-bezier(.16, 1, .3, 1);
}

.ease-out {
  transition-timing-function: cubic-bezier(0, 0, .2, 1);
}

.\[background-color\:var\(--ed-structure-cell\)\] {
  background-color: var(--ed-structure-cell);
}

.\[border-color\:var\(--ed-structure-cell\)\] {
  border-color: var(--ed-structure-cell);
}

.\[box-shadow\:0_0_0_2px_var\(--ed-accent\)\] {
  box-shadow: 0 0 0 2px var(--ed-accent);
}

.\[direction\:ltr\] {
  direction: ltr;
}

.\[direction\:rtl\] {
  direction: rtl;
}

.\[scrollbar-width\:none\] {
  scrollbar-width: none;
}

.\[text-shadow\:0_1px_8px_rgba\(0\,0\,0\,0\.4\)\] {
  text-shadow: 0 1px 8px #0006;
}

.\[web-studio\:api\] {
  web-studio: api;
}

.\[web-studio\:domains\] {
  web-studio: domains;
}

.\[web-studio\:global-config\] {
  web-studio: global-config;
}

:root {
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
  --ed-bg-app: #f3f4f9;
  --ed-bg-panel: #fff;
  --ed-bg-canvas: #e9ebf3;
  --ed-bg-elevated: #fff;
  --ed-bg-inset: #f4f5fa;
  --ed-bg-hover: #f1f2f9;
  --ed-bg-active: #e9ebf4;
  --ed-text-strong: #1e2030;
  --ed-text-default: #3f4156;
  --ed-text-muted: #646577;
  --ed-text-faint: #6c6d82;
  --ed-text-on-accent: #fff;
  --ed-border: #e6e7f0;
  --ed-border-strong: #d4d6e4;
  --ed-border-faint: #eef0f6;
  --ed-structure-cell: #d4d6e4;
  --ed-accent: #6d28d9;
  --ed-accent-hover: #5b21b6;
  --ed-accent-active: #4c1d95;
  --ed-accent-soft: #efeafe;
  --ed-accent-ring: #7c3aed;
  --ed-success: #047857;
  --ed-success-soft: #e6f7ee;
  --ed-warning: #915700;
  --ed-warning-soft: #f6ebd4;
  --ed-danger: #c8170f;
  --ed-danger-soft: #fbe2e0;
  --ed-danger-hover: #a8140c;
  --ed-text-on-danger: #fff;
  --ed-select-outline: #7c3aed;
  --ed-hover-outline: #c4b5fd;
  --ed-dropzone: #7c3aed;
  --ed-dropzone-soft: #efeafe;
  --ed-font-ui: "Prompt", "Noto Sans Thai", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --ed-font-mono: "Space Mono", "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --ed-dur-instant: 80ms;
  --ed-dur-fast: .14s;
  --ed-dur-normal: .22s;
  --ed-dur-slow: .32s;
  --ed-ease-out: cubic-bezier(.16, 1, .3, 1);
  --ed-ease-in-out: cubic-bezier(.4, 0, .2, 1);
  --ed-ease-spring: cubic-bezier(.34, 1.56, .64, 1);
  --ed-ring-focus: 0 0 0 2px var(--ed-bg-panel), 0 0 0 4px var(--ed-accent-ring);
  --ed-ring-error: 0 0 0 2px var(--ed-bg-panel), 0 0 0 4px var(--ed-danger);
  --ed-radius-xs: 5px;
  --ed-radius-sm: 8px;
  --ed-radius-md: 11px;
  --ed-radius-lg: 16px;
  --ed-radius-full: 999px;
  --ed-space-1: 2px;
  --ed-space-2: 4px;
  --ed-space-3: 6px;
  --ed-space-4: 8px;
  --ed-space-5: 12px;
  --ed-space-6: 16px;
  --ed-space-7: 20px;
  --ed-space-8: 24px;
  --ed-space-9: 32px;
  --ed-control-h-sm: 24px;
  --ed-control-h: 32px;
  --ed-control-h-lg: 36px;
  --ed-row-h: 32px;
  --ed-shadow-sm: 0 1px 2px #1e20300f;
  --ed-shadow-md: 0 4px 12px #1e203014, 0 1px 3px #1e20300d;
  --ed-shadow-lg: 0 12px 32px #1e20301f, 0 3px 8px #1e20300f;
  --ed-shadow-xl: 0 24px 56px #1e20302e, 0 6px 16px #1e203017;
  --ed-text-2xs: 10px;
  --ed-canvas-dot: color-mix(in oklab, var(--ed-border-strong) 72%, transparent);
  --ed-dropzone-line: var(--ed-accent);
  --ed-backdrop: #1214205c;
}

:root.dark {
  --lightningcss-light: ;
  --lightningcss-dark: initial;
  color-scheme: dark;
  --ed-bg-app: #0f1117;
  --ed-bg-panel: #161922;
  --ed-bg-canvas: #0b0d13;
  --ed-bg-elevated: #1b1f2a;
  --ed-bg-inset: #11141c;
  --ed-bg-hover: #20242f;
  --ed-bg-active: #272c39;
  --ed-text-strong: #f3f4f9;
  --ed-text-default: #c9ccd8;
  --ed-text-muted: #9498a8;
  --ed-text-faint: #838899;
  --ed-text-on-accent: #1f1235;
  --ed-border: #272b37;
  --ed-border-strong: #353a49;
  --ed-border-faint: #1e222d;
  --ed-structure-cell: #838899;
  --ed-accent: #a78bfa;
  --ed-accent-hover: #bdaaff;
  --ed-accent-active: #9b81fb;
  --ed-accent-soft: #241a3d;
  --ed-accent-ring: #8b5cf6;
  --ed-success: #4ade80;
  --ed-success-soft: #0e2a1c;
  --ed-warning: #fbbf24;
  --ed-warning-soft: #2a2410;
  --ed-danger: #fb7185;
  --ed-danger-soft: #3a1620;
  --ed-danger-hover: #fda4af;
  --ed-text-on-danger: #3d0a12;
  --ed-select-outline: #8b5cf6;
  --ed-hover-outline: #7c66c4;
  --ed-dropzone: #8b5cf6;
  --ed-dropzone-soft: #241a3d;
  --ed-shadow-sm: 0 1px 2px #0006;
  --ed-shadow-md: 0 4px 12px #00000073, 0 1px 3px #00000080;
  --ed-shadow-lg: 0 12px 32px #00000080, 0 3px 8px #0006;
  --ed-shadow-xl: 0 24px 56px #0009, 0 6px 16px #00000073;
  --ed-backdrop: #00000094;
}

:root {
  --th-bg: #fbfbfe;
  --th-bg-alt: #eef0f8;
  --th-surface: #fff;
  --th-ink: #1d1f2e;
  --th-ink-soft: #4c4e63;
  --th-muted: #6b6d80;
  --th-line: #e7e8f2;
  --th-brand: #6d28d9;
  --th-brand-hover: #5b21b6;
  --th-brand-soft: #efeafe;
  --th-accent: #1d1f2e;
  --th-ink-fill: #1d1f2e;
  --th-brand-fill: #6d28d9;
  --th-on-brand: #fff;
  --th-ink-inverse: #fff;
  --th-ink-on-inverse: #1d1f2e;
  --th-success: #2e8a5a;
  --th-sale: #db2777;
  --th-font-display: "Archivo", ui-sans-serif, system-ui, sans-serif;
  --th-font-text: "Archivo", "Inter", ui-sans-serif, system-ui, sans-serif;
  --th-h1: clamp(2.6rem, 1.5rem + 4.8vw, 5.5rem);
  --th-h2: clamp(2rem, 1.4rem + 2.8vw, 3.5rem);
  --th-h3: clamp(1.5rem, 1.2rem + 1.4vw, 2.25rem);
  --th-h4: clamp(1.2rem, 1.05rem + .6vw, 1.5rem);
  --th-h5: 1.125rem;
  --th-h6: 1rem;
  --th-body: clamp(1rem, .96rem + .2vw, 1.1rem);
  --th-small: .8125rem;
  --th-link: 1rem;
  --th-text-xxl: clamp(2rem, 1.4rem + 2.8vw, 3.5rem);
  --th-text-xl: clamp(1.5rem, 1.2rem + 1.4vw, 2.25rem);
  --th-text-lg: clamp(1.2rem, 1.05rem + .6vw, 1.5rem);
  --th-text-md: 1rem;
  --th-text-sm: .8125rem;
  --th-text-xs: .75rem;
  --th-eyebrow: .75rem;
  --th-leading-tight: 1.1;
  --th-leading-body: 1.6;
  --th-tracking-eyebrow: .16em;
  --th-weight-display: 700;
  --th-weight-body: 400;
  --th-weight-strong: 600;
  --th-section-y: clamp(3.5rem, 2rem + 6vw, 8rem);
  --th-gutter: clamp(1.25rem, .5rem + 3vw, 4rem);
  --th-content-max: 1240px;
  --th-prose-max: 68ch;
  --th-unit: 8px;
  --th-control-sm: 36px;
  --th-control-md: 40px;
  --th-control-lg: 56px;
  --th-radius-sm: 10px;
  --th-radius-md: 16px;
  --th-radius-lg: 28px;
  --th-radius-pill: 999px;
  --th-shadow-card: 0 8px 30px #1d1f2e12, 0 2px 6px #1d1f2e0d;
  --th-shadow-lift: 0 18px 48px #1d1f2e24;
  --th-shadow-sm: 0 1px 3px #10100e14, 0 1px 2px #10100e0f;
  --th-shadow-md: 0 8px 24px -8px #10100e2e, 0 2px 6px #10100e0f;
  --th-shadow-lg: 0 24px 60px -20px #10100e47, 0 6px 16px #10100e14;
  --th-dur: .32s;
  --th-ease: cubic-bezier(.16, 1, .3, 1);
}

html, body {
  height: 100%;
}

body {
  font-family: var(--ed-font-ui);
  color: var(--ed-text-default);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizelegibility;
  margin: 0;
  font-size: 13px;
}

:focus-visible {
  box-shadow: var(--ed-ring-focus);
  border-radius: var(--ed-radius-sm, 6px);
  outline: none;
}

:where(button:not(:disabled), [role="button"]:not([aria-disabled="true"]), [role="switch"], [role="radio"], [role="tab"], [role="option"], a[href], summary) {
  cursor: pointer;
}

:where(button:disabled, [aria-disabled="true"]) {
  cursor: not-allowed;
}

.ed-mono {
  font-family: var(--ed-font-ui);
  font-variant-numeric: tabular-nums;
}

.ed-font-ui {
  font-family: var(--ed-font-ui);
}

.ed-microlabel {
  font-family: var(--ed-font-ui);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-variant-numeric: tabular-nums;
  font-size: 10px;
  font-weight: 700;
  line-height: 14px;
}

.ed-tick-track {
  background-image: repeating-linear-gradient(90deg,
    var(--ed-border-strong) 0 1px,
    transparent 1px 4px);
  background-color: var(--ed-bg-inset);
}

.ed-field-control:has([data-ed-fitline]) {
  min-width: min(100%, max-content);
}

.ed-scroll-locked {
  padding-right: var(--ed-scrollbar-pad, 0) !important;
  overflow: hidden !important;
}

.ed-scroll {
  scrollbar-width: thin;
  scrollbar-color: var(--ed-border-strong) transparent;
}

.ed-scroll::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

.ed-scroll::-webkit-scrollbar-thumb {
  background: var(--ed-border-strong);
  background-clip: content-box;
  border: 3px solid #0000;
  border-radius: 999px;
}

.ws-paper {
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
  --ed-bg-app: #f3f4f9;
  --ed-bg-panel: #fff;
  --ed-bg-canvas: #e9ebf3;
  --ed-bg-elevated: #fff;
  --ed-bg-inset: #f4f5fa;
  --ed-bg-hover: #f1f2f9;
  --ed-bg-active: #e9ebf4;
  --ed-text-strong: #1e2030;
  --ed-text-default: #3f4156;
  --ed-text-muted: #646577;
  --ed-text-faint: #646577;
  --ed-border: #e6e7f0;
  --ed-border-strong: #d4d6e4;
  --ed-border-faint: #eef0f6;
  --ed-accent: #6d28d9;
  --ed-accent-hover: #5b21b6;
  --ed-accent-active: #4c1d95;
  --ed-accent-soft: #efeafe;
  --ed-accent-ring: #7c3aed;
  --ed-text-on-accent: #fff;
  --ed-success: #047857;
  --ed-success-soft: #e6f7ee;
  --ed-warning: #915700;
  --ed-warning-soft: #f6ebd4;
  --ed-danger: #c8170f;
  --ed-danger-soft: #fbe2e0;
  --ed-danger-hover: #a8140c;
  --ed-text-on-danger: #fff;
  --ed-select-outline: #7c3aed;
  --ed-hover-outline: #c4b5fd;
  --ed-dropzone: #7c3aed;
  --ed-dropzone-soft: #efeafe;
  --ed-shadow-sm: 0 1px 2px #1e20300f;
  --ed-shadow-md: 0 4px 12px #1e203014, 0 1px 3px #1e20300d;
  --ed-shadow-lg: 0 12px 32px #1e20301f, 0 3px 8px #1e20300f;
  --ed-shadow-xl: 0 24px 56px #1e20302e, 0 6px 16px #1e203017;
  background: #fff;
}

.ed-canvas-grid {
  background-color: var(--ed-bg-canvas);
  background-image: radial-gradient(circle, var(--ed-canvas-dot) 1px, transparent 1px),
    radial-gradient(120% 80% at 10% 0%, #7c3aed12, transparent 58%),
    radial-gradient(120% 80% at 100% 100%, #4f46e50f, transparent 58%);
  background-position: -1px -1px, 0 0, 0 0;
  background-size: 24px 24px, 100% 100%, 100% 100%;
}

.dark .ed-canvas-grid {
  background-image: radial-gradient(circle, var(--ed-canvas-dot) 1px, transparent 1px),
    radial-gradient(120% 80% at 10% 0%, #8b5cf629, transparent 60%),
    radial-gradient(120% 80% at 100% 100%, #3859e626, transparent 60%);
}

.ws-range {
  appearance: none;
  background: linear-gradient(to right,
    var(--ed-accent) 0%,
    var(--ed-accent) var(--pct, 50%),
    var(--ed-bg-inset) var(--pct, 50%),
    var(--ed-bg-inset) 100%);
  border-radius: 999px;
  height: 4px;
}

.ws-range::-webkit-slider-thumb {
  appearance: none;
  background: var(--ed-bg-elevated);
  border: 2px solid var(--ed-accent);
  width: 14px;
  height: 14px;
  box-shadow: var(--ed-shadow-sm);
  cursor: pointer;
  -webkit-transition: transform var(--ed-dur-instant) var(--ed-ease-out);
  transition: transform var(--ed-dur-instant) var(--ed-ease-out);
  border-radius: 999px;
}

.ws-range::-webkit-slider-thumb:hover {
  transform: scale(1.12);
}

.ws-range::-moz-range-thumb {
  background: var(--ed-bg-elevated);
  border: 2px solid var(--ed-accent);
  width: 14px;
  height: 14px;
  box-shadow: var(--ed-shadow-sm);
  cursor: pointer;
  border-radius: 999px;
}

.ws-spectrum {
  appearance: none;
  border: 1px solid var(--ed-border);
  cursor: pointer;
  border-radius: 999px;
  width: 100%;
  height: 12px;
  display: block;
}

.ws-spectrum.ws-hue {
  background: linear-gradient(to right, red 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, red 100%);
}

.ws-spectrum::-webkit-slider-thumb {
  appearance: none;
  cursor: pointer;
  width: 14px;
  height: 14px;
  -webkit-transition: transform var(--ed-dur-instant) var(--ed-ease-out);
  transition: transform var(--ed-dur-instant) var(--ed-ease-out);
  background: none;
  border: 2.5px solid #fff;
  border-radius: 999px;
  box-shadow: 0 0 0 1px #00000059, inset 0 0 0 1px #00000040;
}

.ws-spectrum::-webkit-slider-thumb:hover {
  transform: scale(1.12);
}

.ws-spectrum::-moz-range-thumb {
  cursor: pointer;
  background: none;
  border: 2.5px solid #fff;
  border-radius: 999px;
  width: 14px;
  height: 14px;
  box-shadow: 0 0 0 1px #00000059, inset 0 0 0 1px #00000040;
}

.ws-spectrum:focus-visible {
  box-shadow: var(--ed-ring-focus);
  outline: none;
}

.ed-editable:empty:before {
  content: attr(data-placeholder);
  color: var(--ed-text-faint);
  pointer-events: none;
}

.ed-editable:focus:before {
  content: none;
}

[data-ws-field]:not(.ws-rich) {
  white-space: pre-line;
}

.ws-edit-canvas [data-ws-field] {
  cursor: text;
}

.ws-edit-canvas [data-ws-field]:hover {
  outline: 1.5px dashed var(--ed-accent, #6d28d9);
  outline-offset: 3px;
  border-radius: 3px;
}

.ed-scrub {
  cursor: ew-resize;
  -webkit-user-select: none;
  user-select: none;
  touch-action: none;
}

.ed-num::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.ed-num::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.ed-num {
  appearance: textfield;
}

body.ed-dragging, body.ed-dragging * {
  cursor: grabbing !important;
}

body.ws-no-select, body.ws-no-select * {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

body.ws-no-select img {
  -webkit-user-drag: none;
  pointer-events: auto;
}

.ed-drop-indicator {
  z-index: 90;
  background: var(--ed-dropzone-line);
  pointer-events: none;
  border-radius: 999px;
  position: fixed;
  box-shadow: 0 0 0 1.5px #fffffff2, 0 1px 4px #1e203059;
}

.ed-drop-indicator:before {
  content: "";
  background: var(--ed-dropzone-line);
  border-radius: 999px;
  width: 6px;
  height: 6px;
  position: absolute;
  top: -2px;
  left: -2px;
  box-shadow: 0 0 0 1.5px #fffffff2;
}

.ed-swap-target {
  outline: 2px dashed var(--ed-dropzone);
  outline-offset: 1px;
  box-shadow: inset 0 0 0 2px #ffffffe6;
}

.ed-reject-target {
  outline: 2px dashed var(--ed-text-muted);
  outline-offset: 1px;
  box-shadow: inset 0 0 0 2px #ffffffe6;
}

body.ed-dragging .ed-reject-target, body.ed-dragging .ed-reject-target * {
  cursor: not-allowed !important;
}

.ed-drag-ghost {
  pointer-events: none;
  cursor: grabbing;
  position: relative;
}

.ed-drag-ghost__chip {
  z-index: 2;
  background: var(--ed-accent);
  max-width: 220px;
  height: 22px;
  color: var(--ed-text-on-accent);
  font-family: var(--ed-font-ui);
  white-space: nowrap;
  text-overflow: ellipsis;
  box-shadow: var(--ed-shadow-md);
  border-radius: 999px;
  align-items: center;
  gap: 4px;
  padding: 0 9px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  display: inline-flex;
  position: absolute;
  top: -11px;
  left: -8px;
  overflow: hidden;
}

.ed-drag-ghost__frame {
  border-radius: var(--ed-radius-md);
  border: 1px solid var(--ed-accent);
  background: var(--th-bg, #fff);
  box-shadow: var(--ed-shadow-xl);
  opacity: .65;
  overflow: hidden;
}

.ed-drag-ghost__frame--clipped {
  -webkit-mask-image: linear-gradient(#000 76%, #0000 100%);
  mask-image: linear-gradient(#000 76%, #0000 100%);
}

.ed-ghost-media {
  background: var(--ed-bg-inset);
  border-radius: 8px;
  width: 100%;
  min-height: 72px;
}

@keyframes ed-flash-pulse {
  0%, 40% {
    background-color: var(--ed-accent-soft);
  }

  100% {
    background-color: #0000;
  }
}

.ed-flash {
  animation: ed-flash-pulse 1.2s var(--ed-ease-out) both;
}

.th-root .ed-board :focus-visible {
  box-shadow: var(--ed-ring-focus);
}

@keyframes ed-board-flash {
  0%, 55% {
    box-shadow: 0 0 0 2px var(--ed-accent), 0 0 22px -2px var(--ed-accent);
    background-color: var(--ed-accent-soft);
  }

  100% {
    background-color: var(--ed-bg-panel);
    box-shadow: 0 0 0 2px #0000, 0 0 22px -2px #0000;
  }
}

.ed-board-flash {
  animation: ed-board-flash 1.4s var(--ed-ease-out) both;
}

@keyframes ed-pop-in {
  from {
    opacity: 0;
    transform: scale(.97)translateY(-3px);
  }

  to {
    opacity: 1;
    transform: scale(1)translateY(0);
  }
}

.ed-anim-pop {
  animation: ed-pop-in var(--ed-dur-fast) var(--ed-ease-out) both;
  transform-origin: top;
}

@keyframes ed-toast-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes ed-backdrop-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes ed-modal-in {
  from {
    opacity: 0;
    transform: scale(.985)translateY(4px);
  }

  to {
    opacity: 1;
    transform: scale(1)translateY(0);
  }
}

@keyframes ed-drawer-aside-in {
  from {
    opacity: 0;
    transform: translateX(-12px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.ed-anim-drawer-aside {
  animation: ed-drawer-aside-in var(--ed-dur-normal) var(--ed-ease-out) both;
}

@media (prefers-reduced-motion: reduce) {
  .ed-anim-drawer-aside {
    animation: none;
  }
}

.ed-anim-toast {
  animation: ed-toast-in var(--ed-dur-normal) var(--ed-ease-out) both;
}

.ed-anim-backdrop {
  animation: ed-backdrop-in var(--ed-dur-fast) var(--ed-ease-out) both;
}

.ed-anim-modal {
  animation: ed-modal-in var(--ed-dur-normal) var(--ed-ease-out) both;
}

@keyframes ed-cta-ready {
  0%, 100% {
    box-shadow: 0 0 0 0 var(--ed-accent-ring);
    transform: translateZ(0)scale(1);
  }

  50% {
    box-shadow: 0 0 0 6px transparent, 0 0 20px -2px var(--ed-accent-ring);
    transform: translateZ(0)scale(1.015);
  }
}

.ed-cta-ready {
  border-radius: var(--ed-radius-sm);
  animation: ed-cta-ready 2s var(--ed-ease-out) infinite;
  will-change: transform, box-shadow;
}

@media (prefers-reduced-motion: reduce) {
  .ed-cta-ready {
    box-shadow: 0 0 0 2px var(--ed-accent-ring);
    animation: none;
  }
}

.th-root {
  font-family: var(--th-font-text);
  color: var(--th-ink);
  background: var(--th-bg);
  font-size: var(--th-body);
  line-height: var(--th-leading-body);
  overflow-wrap: break-word;
  overflow-x: clip;
}

.ws-cq {
  container: ws / inline-size;
}

@container ws (max-width: 768px) {
  .ws-nav-desktop {
    display: none !important;
  }

  .ws-nav-burger {
    display: inline-flex !important;
  }
}

.th-root :focus-visible {
  box-shadow: 0 0 0 2px var(--th-bg), 0 0 0 4px var(--th-brand);
  outline: none;
}

.ws-skip-link {
  z-index: 100;
  border-radius: var(--th-radius-sm, 8px);
  background: var(--th-ink);
  color: var(--th-bg);
  transition: top .15s var(--th-ease, ease);
  padding: 8px 14px;
  font-weight: 600;
  text-decoration: none;
  position: absolute;
  top: -48px;
  left: 12px;
}

.ws-skip-link:focus {
  top: 12px;
}

.th-root .ws-cart-fab {
  z-index: 90;
  background: var(--th-brand);
  width: 56px;
  height: 56px;
  color: var(--th-on-brand, #fff);
  transition: transform .16s var(--th-ease, ease),
    box-shadow .16s var(--th-ease, ease);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  display: inline-flex;
  position: fixed;
  bottom: 20px;
  right: 20px;
  box-shadow: 0 6px 20px #00000038;
}

.th-root .ws-cart-fab:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 26px #00000047;
}

.th-root .ws-cart-fab:active {
  transform: translateY(0);
}

.ws-cart-fab-badge {
  border: 2px solid var(--th-bg, #fff);
  background: var(--th-ink);
  min-width: 22px;
  height: 22px;
  color: var(--th-bg);
  text-align: center;
  font-variant-numeric: tabular-nums;
  border-radius: 999px;
  padding: 0 6px;
  font-size: 12px;
  font-weight: 700;
  line-height: 18px;
  position: absolute;
  top: -2px;
  right: -2px;
}

@media (prefers-reduced-motion: reduce) {
  .th-root .ws-cart-fab, .th-root .ws-cart-fab:hover {
    transition: none;
    transform: none;
  }
}

@media (max-width: 640px) {
  .th-root .ws-cart-fab {
    bottom: 14px;
    right: 14px;
  }
}

.th-root h1, .th-root h2, .th-root h3, .th-root h4 {
  font-family: var(--th-font-display);
  font-weight: var(--th-weight-display);
  line-height: var(--th-leading-tight);
  letter-spacing: -.018em;
  color: var(--th-ink);
  margin: 0;
}

.ws-rich :where(h1, h2, h3, h4) {
  font-family: var(--th-font-display);
  margin: 0 0 .4em;
}

.ws-rich :where(p) {
  margin: 0 0 .9em;
}

.ws-rich :where(p):last-child {
  margin-bottom: 0;
}

.ws-rich :where(a) {
  color: var(--th-brand);
  text-decoration: underline;
}

.ws-rich :where(ul, ol) {
  margin: 0 0 .9em;
  padding-left: 1.4em;
}

.th-root .ws-btn {
  border-radius: var(--th-btn-radius);
  padding: var(--th-btn-py) var(--th-btn-px);
  text-transform: var(--th-btn-transform);
  letter-spacing: var(--th-btn-letter-spacing);
  cursor: pointer;
  transition: transform var(--th-dur, .2s) var(--th-ease), opacity var(--th-dur, .2s);
  border: 1.5px solid #0000;
  justify-content: center;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  line-height: 1.1;
  text-decoration: none;
  display: inline-flex;
}

.th-root .ws-btn-primary {
  background: var(--th-btn-primary-bg);
  color: var(--th-btn-primary-text);
}

.th-root .ws-btn-secondary {
  background: var(--th-btn-secondary-bg);
  color: var(--th-btn-secondary-text);
}

.th-root .ws-btn-outline {
  color: var(--th-ink);
  border-color: var(--th-btn-outline-border);
  background: none;
}

.th-root .ws-btn-text {
  color: var(--th-brand);
  padding: var(--th-btn-py) 4px;
  background: none;
}

.th-root a:not(.ws-btn) {
  transition: color var(--th-dur, .2s) var(--th-ease, ease),
    opacity var(--th-dur, .2s) var(--th-ease, ease);
}

.th-root a:not(.ws-btn):hover {
  color: var(--th-brand);
}

.th-root a:not(.ws-btn):hover svg {
  transition: fill var(--th-dur, .2s) var(--th-ease, ease);
}

.th-root button:not(.ws-btn) {
  transition: color var(--th-dur, .2s) var(--th-ease, ease);
}

.th-root button:not(.ws-btn):hover {
  color: var(--th-brand);
}

.th-root .ws-blogfull-search input::placeholder {
  color: var(--th-muted, #6b6d80);
  opacity: 1;
}

.th-root .ws-blogfull-card:hover .ws-blogfull-title {
  color: var(--th-brand);
}

.th-root .ws-blogfull-title {
  line-height: 1.35;
}

@media (prefers-reduced-motion: reduce) {
  .th-root .ws-blogfull-card, .th-root .ws-blogfull-card:hover {
    transition: none;
    transform: none;
  }
}

.ws-btn:hover {
  filter: brightness(.96);
  transform: translateY(-1px);
}

[data-ss-type="button"] {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
}

[data-ss-type="button"]:has(.ws-btn-block) {
  width: 100%;
}

.ws-btn-block {
  width: 100%;
}

.th-root .ws-btn-pill {
  border-radius: 999px;
}

.th-root .ws-btn-sharp {
  border-radius: 0;
}

.th-root .ws-btn-gradient {
  background: linear-gradient(135deg, var(--th-brand), var(--th-accent));
  color: var(--th-on-brand, #fff);
  border-color: #0000;
}

.th-root .ws-btn-ghost {
  background: var(--th-brand-soft);
  color: var(--th-brand);
  border-color: #0000;
}

.th-root .ws-btn-sz-sm {
  padding: 6px 14px;
  font-size: 13px;
}

.th-root .ws-btn-sz-lg {
  padding: 14px 28px;
  font-size: 17px;
}

.ws-media {
  border-radius: inherit;
  width: 100%;
  display: block;
}

.ws-media-cover {
  object-fit: cover;
}

.ws-media-contain {
  object-fit: contain;
}

.ws-op-center-left {
  object-position: center left;
}

.ws-op-center-right {
  object-position: center right;
}

.ws-op-top-center {
  object-position: top center;
}

.ws-op-top-left {
  object-position: top left;
}

.ws-op-top-right {
  object-position: top right;
}

.ws-op-bottom-center {
  object-position: bottom center;
}

.ws-op-bottom-left {
  object-position: bottom left;
}

.ws-op-bottom-right {
  object-position: bottom right;
}

.ws-ar-1-1 {
  aspect-ratio: 1;
  height: 100%;
}

.ws-ar-4-3 {
  aspect-ratio: 4 / 3;
  height: 100%;
}

.ws-ar-16-9 {
  aspect-ratio: 16 / 9;
  height: 100%;
}

.ws-ar-3-2 {
  aspect-ratio: 3 / 2;
  height: 100%;
}

.ws-ar-9-16 {
  aspect-ratio: 9 / 16;
  height: 100%;
}

.ws-ar-2-1 {
  aspect-ratio: 2;
  height: 100%;
}

.ws-ar-auto {
  height: auto;
}

.ws-media-empty {
  background: var(--th-bg-alt, #f0ede8);
  color: var(--th-muted, #9a9389);
  border-radius: inherit;
  justify-content: center;
  align-items: center;
  display: flex;
}

.ws-media-empty-1-1 {
  aspect-ratio: 1;
}

.ws-media-empty-4-3 {
  aspect-ratio: 4 / 3;
}

.ws-media-empty-16-9 {
  aspect-ratio: 16 / 9;
}

.ws-media-empty-3-2 {
  aspect-ratio: 3 / 2;
}

.ws-media-empty-9-16 {
  aspect-ratio: 9 / 16;
}

.ws-media-empty-2-1 {
  aspect-ratio: 2;
}

.ws-media-empty-auto {
  aspect-ratio: 16 / 9;
}

.ws-img-ph {
  background: var(--th-bg-alt, #f0ede8);
  color: var(--th-muted, #9a9389);
  justify-content: center;
  align-items: center;
  display: flex;
}

.ws-flip {
  perspective: 1000px;
}

.ws-flip-inner {
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform .6s cubic-bezier(.16, 1, .3, 1);
  position: relative;
}

.ws-flip:hover .ws-flip-inner, .ws-flip:focus-within .ws-flip-inner {
  transform: var(--ws-flip-transform, rotateY(180deg));
}

.ws-flip-face {
  backface-visibility: hidden;
  text-align: center;
  border-radius: inherit;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 28px;
  display: flex;
  position: absolute;
  inset: 0;
}

.ws-flip-back {
  transform: var(--ws-flip-transform, rotateY(180deg));
}

.ws-code {
  border-radius: 12px;
  margin: 0;
  font-family: Space Mono, ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 13.5px;
  line-height: 1.6;
  overflow-x: auto;
}

.ws-code code {
  font: inherit;
}

.ws-logo img {
  transition: filter .3s, opacity .3s;
}

.ws-logo.is-mono img {
  filter: grayscale();
  opacity: .6;
}

.ws-logo.is-mono:hover img {
  filter: none;
  opacity: 1;
}

.ws-marquee-mask {
  width: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, #0000, #000 8% 92%, #0000);
  mask-image: linear-gradient(90deg, #0000, #000 8% 92%, #0000);
}

.ws-marquee-track {
  align-items: center;
  width: max-content;
  animation: 32s linear infinite ws-marquee-scroll;
  display: flex;
}

.ws-marquee-track.is-reverse {
  animation-direction: reverse;
}

.ws-marquee-mask.is-pause:hover .ws-marquee-track, .ws-marquee-mask.is-pause-press:active .ws-marquee-track {
  animation-play-state: paused;
}

.ws-marquee-mask.is-draggable {
  cursor: grab;
}

.ws-marquee-mask.is-draggable:active {
  cursor: grabbing;
}

@keyframes ws-marquee-scroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

.ws-hotspot {
  animation: 2.2s ease-out infinite ws-hotspot-pulse;
}

@keyframes ws-hotspot-pulse {
  0% {
    box-shadow: 0 2px 8px #0000004d, 0 0 0 0 color-mix(in srgb, var(--th-brand) 55%, transparent);
  }

  70% {
    box-shadow: 0 2px 8px #0000004d, 0 0 0 12px #0000;
  }

  100% {
    box-shadow: 0 2px 8px #0000004d, 0 0 #0000;
  }
}

.ws-play-pulse {
  animation: 2.4s ease-out infinite ws-play-pulse;
}

@keyframes ws-play-pulse {
  0% {
    box-shadow: 0 6px 24px #00000059, 0 0 #ffffff80;
  }

  70% {
    box-shadow: 0 6px 24px #00000059, 0 0 0 22px #fff0;
  }

  100% {
    box-shadow: 0 6px 24px #00000059, 0 0 #fff0;
  }
}

@keyframes ws-fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes ws-slide-up {
  from {
    opacity: 0;
    transform: translateY(24px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes ws-slide-left {
  from {
    opacity: 0;
    transform: translateX(24px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes ws-slide-right {
  from {
    opacity: 0;
    transform: translateX(-24px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes ws-zoom-in {
  from {
    opacity: 0;
    transform: scale(.94);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes ws-clip-in {
  from {
    clip-path: inset(0 100% 0 0);
  }

  to {
    clip-path: inset(0);
  }
}

[data-ws-anim].ws-anim-wait {
  opacity: 0 !important;
  animation: none !important;
}

@media (prefers-reduced-motion: reduce) {
  *, :before, :after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

.studio-nav .sn-brand {
  border-radius: var(--ed-radius-sm);
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  padding: 4px 8px;
  text-decoration: none;
  display: flex;
}

.studio-nav .sn-brand:hover {
  background: var(--ed-bg-hover);
}

.studio-nav .sn-brand-icon {
  color: var(--ed-accent);
  flex: none;
}

.studio-nav .sn-brand-text {
  font: 600 14px/1 var(--ed-font-ui);
  color: var(--ed-text-strong);
}

.studio-nav .sn-groups {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.studio-nav .sn-summary {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  border-radius: var(--ed-radius-sm);
  transition: background-color var(--ed-dur-fast) var(--ed-ease-out);
  align-items: center;
  gap: 8px;
  padding: 7px 8px;
  list-style: none;
  display: flex;
}

.studio-nav .sn-summary::-webkit-details-marker {
  display: none;
}

.studio-nav .sn-summary:hover {
  background: var(--ed-bg-hover);
}

.studio-nav .sn-summary:focus-visible {
  box-shadow: var(--ed-ring-focus);
  outline: none;
}

.studio-nav .sn-eyebrow {
  font: 600 10px/1.4 var(--ed-font-ui);
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--ed-text-faint);
  flex: 1;
  margin: 0;
}

.studio-nav .sn-summary:after {
  content: "";
  border-right: 1.5px solid var(--ed-text-muted);
  border-bottom: 1.5px solid var(--ed-text-muted);
  width: 6px;
  height: 6px;
  transition: transform var(--ed-dur-normal) var(--ed-ease-out);
  transform: rotate(-45deg);
}

.studio-nav .sn-group[open] > .sn-summary:after {
  transform: rotate(45deg);
}

.studio-nav .sn-list {
  flex-direction: column;
  gap: 2px;
  margin: 0 0 4px;
  padding: 2px 0 4px;
  list-style: none;
  display: flex;
}

.studio-nav .sn-row {
  border-radius: var(--ed-radius-sm);
  font: 500 13px/1.2 var(--ed-font-ui);
  color: var(--ed-text-default);
  transition: background-color var(--ed-dur-fast) var(--ed-ease-out),
    color var(--ed-dur-fast) var(--ed-ease-out);
  align-items: center;
  gap: 10px;
  padding: 7px 10px;
  text-decoration: none;
  display: flex;
}

.studio-nav .sn-row > svg {
  flex: none;
}

.studio-nav .sn-label {
  flex: 1;
  min-width: 0;
}

.studio-nav .sn-row:hover {
  background: var(--ed-bg-hover);
  color: var(--ed-text-strong);
}

.studio-nav .sn-row:focus-visible {
  box-shadow: var(--ed-ring-focus);
  outline: none;
}

.studio-nav .sn-row.is-active {
  background: var(--ed-accent-soft);
  color: var(--ed-accent);
}

.studio-nav .sn-row--muted {
  color: var(--ed-text-muted);
}

.studio-nav .sn-foot {
  border-top: 1px solid var(--ed-border);
  flex-direction: column;
  gap: 2px;
  margin-top: auto;
  padding-top: 10px;
  display: flex;
}

@media (pointer: coarse) {
  .studio-nav .sn-row, .studio-nav .sn-summary {
    min-height: 44px;
  }
}

.tb-right {
  align-items: center;
  gap: 14px;
  display: flex;
}

.tb-right .tb-group {
  align-items: center;
  gap: 4px;
  display: flex;
}

.tb-right .tb-group + .tb-group {
  border-left: 1px solid var(--ed-border);
  padding-left: 10px;
}

.tb-right .tb-actions {
  gap: 6px;
}

.ws-rich-surface:empty:before {
  content: attr(data-placeholder);
  color: var(--ed-text-faint);
  pointer-events: none;
}

.ws-rich-surface h2 {
  color: var(--ed-text-strong);
  margin: 1.1em 0 .45em;
  font-size: 1.45em;
  font-weight: 700;
}

.ws-rich-surface h3 {
  margin: 1em 0 .4em;
  font-size: 1.2em;
  font-weight: 650;
}

.ws-rich-surface h4 {
  margin: .9em 0 .35em;
  font-size: 1.05em;
  font-weight: 650;
}

.ws-rich-surface p {
  margin: .55em 0;
}

.ws-rich-surface ul, .ws-rich-surface ol {
  margin: .55em 0;
  padding-left: 1.5em;
}

.ws-rich-surface ul {
  list-style: outside;
}

.ws-rich-surface ol {
  list-style: decimal;
}

.ws-rich-surface blockquote {
  border-left: 3px solid var(--ed-accent);
  color: var(--ed-text-muted);
  margin: .8em 0;
  padding: .2em 0 .2em 1em;
}

.ws-rich-surface a {
  color: var(--ed-accent);
  text-decoration: underline;
}

.ws-rich-surface img {
  border-radius: var(--ed-radius-sm);
  max-width: 100%;
  height: auto;
  margin: .6em 0;
}

.ws-rich-surface hr {
  border: none;
  border-top: 1px solid var(--ed-border);
  margin: 1.2em 0;
}

.ws-rich-surface pre {
  background: var(--ed-bg-inset);
  border-radius: var(--ed-radius-sm);
  padding: 10px 12px;
  font-size: .9em;
  overflow-x: auto;
}

.ws-rich-surface table {
  border-collapse: collapse;
  width: 100%;
  margin: .8em 0;
}

.ws-rich-surface th, .ws-rich-surface td {
  border: 1px solid var(--ed-border);
  text-align: left;
  padding: 6px 10px;
}

.ws-article-body h2 {
  font-family: var(--th-font-display, inherit);
  margin: 1.4em 0 .5em;
  scroll-margin-top: 90px;
  font-size: 1.5em;
  font-weight: 700;
}

.ws-article-body h3 {
  font-family: var(--th-font-display, inherit);
  margin: 1.2em 0 .45em;
  scroll-margin-top: 90px;
  font-size: 1.25em;
  font-weight: 650;
}

.ws-article-body h4 {
  margin: 1em 0 .4em;
  scroll-margin-top: 90px;
  font-size: 1.1em;
  font-weight: 650;
}

.ws-article-body p {
  margin: .7em 0;
}

.ws-article-body ul, .ws-article-body ol {
  margin: .7em 0;
  padding-left: 1.6em;
}

.ws-article-body ul {
  list-style: outside;
}

.ws-article-body ol {
  list-style: decimal;
}

.ws-article-body li {
  margin: .25em 0;
}

.ws-article-body a {
  color: var(--th-brand, #6d28d9);
  text-decoration: underline;
}

.ws-article-body blockquote {
  border-left: 4px solid var(--th-primary, #999);
  color: var(--th-muted, inherit);
  margin: 1em 0;
  padding: .25em 0 .25em 1.1em;
}

.ws-article-body img {
  border-radius: var(--th-radius, 12px);
  max-width: 100%;
  height: auto;
  margin: 1em 0;
}

.ws-article-body hr {
  border: none;
  border-top: 1px solid var(--th-border, #e5e5e5);
  margin: 2em 0;
}

.ws-article-body .ws-article-widget {
  margin: 1.6em 0;
}

.ws-article-body .ws-article-widget:first-child {
  margin-top: 0;
}

.ws-article-body .ws-article-widget:last-child {
  margin-bottom: 0;
}

.ws-article-body pre {
  background: var(--th-surface-alt, #f4f4f4);
  border-radius: var(--th-radius, 12px);
  padding: 14px 16px;
  font-size: .9em;
  overflow-x: auto;
}

.ws-article-body table {
  border-collapse: collapse;
  width: 100%;
  margin: 1em 0;
}

.ws-article-body th, .ws-article-body td {
  border: 1px solid var(--th-border, #e5e5e5);
  text-align: left;
  padding: 8px 12px;
}

.ws-blockdoc input:focus-visible, .ws-blockdoc textarea:focus-visible, .ws-blockdoc [contenteditable]:focus-visible {
  box-shadow: none;
}

.ws-bb-editable:empty:before, .ws-bb-editable p:only-child:empty:before {
  content: attr(data-placeholder);
  color: var(--ed-text-faint);
  pointer-events: none;
}

.ws-bb-editable a {
  color: var(--ed-accent);
  text-decoration: underline;
}

.ws-bb-table th, .ws-bb-table td {
  border: 1px solid var(--ed-border);
  text-align: left;
  min-width: 48px;
  padding: 6px 10px;
}

.ws-bb-table th {
  background: var(--ed-bg-inset);
  font-weight: 600;
}

.ws-article-body .ws-gallery {
  gap: 10px;
  margin: 1em 0;
  display: grid;
}

.ws-article-body .ws-gallery img {
  aspect-ratio: 1;
  object-fit: cover;
  width: 100%;
  margin: 0;
}

.ws-article-body .ws-cols-1 {
  grid-template-columns: 1fr;
}

.ws-article-body .ws-cols-2 {
  grid-template-columns: repeat(2, 1fr);
}

.ws-article-body .ws-cols-3 {
  grid-template-columns: repeat(3, 1fr);
}

.ws-article-body .ws-cols-4 {
  grid-template-columns: repeat(4, 1fr);
}

.ws-article-body .ws-pullquote {
  text-align: center;
  color: inherit;
  border-top: 3px solid;
  border-bottom: 3px solid;
  border-left: none;
  margin: 1.6em 0;
  padding: 1em 1.2em;
  font-size: 1.25em;
  font-weight: 500;
}

.ws-article-body .ws-pullquote cite {
  color: var(--th-muted, #777);
  margin-top: .4em;
  font-size: .75em;
  font-style: normal;
  display: block;
}

.ws-article-body .ws-cover {
  border-radius: var(--th-radius, 12px);
  justify-content: center;
  align-items: center;
  margin: 1.2em 0;
  display: flex;
  position: relative;
  overflow: hidden;
}

.ws-article-body .ws-cover img {
  object-fit: cover;
  filter: brightness(.65);
  border-radius: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  position: absolute;
  inset: 0;
}

.ws-article-body .ws-cover figcaption {
  text-align: center;
  color: #fff;
  text-shadow: 0 1px 8px #0006;
  padding: 2.5em 1.5em;
  font-size: 1.4em;
  font-weight: 700;
  position: relative;
}

.ws-article-body .ws-media-text {
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 24px;
  margin: 1.2em 0;
  display: grid;
}

.ws-article-body .ws-media-text img {
  margin: 0;
}

.ws-article-body .ws-media-text.ws-media-right img {
  order: 2;
}

.ws-article-body .ws-columns {
  gap: 24px;
  margin: 1em 0;
  display: grid;
}

.ws-article-body .ws-file a {
  border: 1px solid var(--th-border, #e5e5e5);
  border-radius: var(--th-radius, 12px);
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
}

.ws-article-body .ws-article-btn {
  background: var(--th-primary, #333);
  color: var(--th-on-primary, #fff);
  border-radius: var(--th-radius, 8px);
  padding: 10px 22px;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
}

.ws-article-body .ws-verse {
  white-space: pre-wrap;
  background: none;
  padding: .5em 1.2em;
  font-family: inherit;
  font-style: italic;
}

.ws-article-body .ws-audio audio, .ws-article-body .ws-video video {
  width: 100%;
}

.ws-article-body .ws-toc {
  border: 1px solid var(--th-border, #e5e5e5);
  border-radius: var(--th-radius, 12px);
  margin: .8em 0;
  padding: 16px 20px;
}

.ws-article-body .ws-toc .ws-toc-title {
  margin: 0 0 8px;
  font-weight: 700;
}

.ws-article-body .ws-toc ul.ws-toc-list {
  padding-left: 0;
  list-style: none;
}

.ws-article-body .ws-toc ol.ws-toc-list {
  padding-left: 1.4em;
}

.ws-article-body .ws-toc .ws-toc-list li {
  margin: 6px 0;
}

.ws-article-body .ws-toc .ws-toc-l3 {
  padding-left: 16px;
}

.ws-article-body .ws-toc .ws-toc-l4 {
  padding-left: 32px;
}

.ws-article-body .ws-toc a {
  color: var(--th-primary, inherit);
  text-decoration: none;
}

.ws-article-body .ws-toc a:hover {
  text-decoration: underline;
}

.ws-article-body .ws-key-takeaway {
  border-left: 4px solid var(--th-primary, #333);
  background: var(--th-surface-alt, #f6f6f6);
  border-radius: var(--th-radius, 12px);
  margin: .8em 0 1.6em;
  padding: 16px 20px;
  line-height: 1.7;
}

.ws-article-body .ws-key-takeaway > :first-child {
  margin-top: 0;
}

.ws-article-body .ws-key-takeaway > :last-child {
  margin-bottom: 0;
}

.ws-article-body .ws-faq {
  margin: 2.4em 0 0;
}

.ws-article-body .ws-faq .ws-faq-heading {
  font-family: var(--th-font-display, inherit);
  font-size: var(--th-h3, 1.5rem);
  margin: 0 0 16px;
  font-weight: 700;
}

.ws-article-body .ws-faq .ws-faq-item {
  margin: 0 0 16px;
}

.ws-article-body .ws-faq .ws-faq-item h3 {
  margin: 0 0 4px;
  font-size: 1.05rem;
  font-weight: 600;
}

.ws-article-body .ws-faq .ws-faq-item p {
  color: var(--th-muted);
  margin: 0;
}

.ws-article-body details {
  border: 1px solid var(--th-border, #e5e5e5);
  border-radius: var(--th-radius, 12px);
  margin: .8em 0;
  padding: 12px 16px;
}

.ws-article-body details summary {
  cursor: pointer;
  font-weight: 600;
}

.ws-article-body .ws-accordion {
  flex-direction: column;
  gap: 10px;
  margin: 1em 0;
  display: flex;
}

.ws-article-body .ws-accordion .ws-accordion-item {
  margin: 0;
}

.ws-article-body .ws-accordion-body {
  padding-top: 8px;
}

.ws-article-body .ws-buttons {
  margin: 1em 0;
}

.ws-article-body .ws-buttons .ws-article-btn {
  margin: 4px 10px 4px 0;
}

.ws-article-body .ws-group {
  margin: 1em 0;
}

.ws-article-body .ws-row {
  flex-wrap: wrap;
  gap: 20px;
  margin: 1em 0;
  display: flex;
}

.ws-article-body .ws-row > * {
  flex: 1 1 0;
  min-width: 140px;
  margin-top: 0;
  margin-bottom: 0;
}

.ws-article-body .ws-stack {
  flex-direction: column;
  gap: 16px;
  margin: 1em 0;
  display: flex;
}

.ws-article-body .ws-grid {
  gap: 20px;
  margin: 1em 0;
  display: grid;
}

.ws-article-body .ws-cell > :first-child {
  margin-top: 0;
}

.ws-article-body .ws-cell > :last-child {
  margin-bottom: 0;
}

.ws-article-body .ws-cell {
  min-width: 0;
}

.ws-article-body .ws-more {
  height: 0;
  overflow: hidden;
}

.ws-article-body .ws-page-break {
  break-after: page;
  page-break-after: always;
  height: 0;
  margin: 2em 0;
}

@media (max-width: 640px) {
  .ws-article-body .ws-media-text, .ws-article-body .ws-columns, .ws-article-body .ws-grid {
    grid-template-columns: 1fr !important;
  }
}

.ws-article-body .ws-code {
  color: #e2e8f0;
  border-radius: var(--th-radius, 12px);
  background: #0f172a;
  padding: 16px 20px;
  overflow-x: auto;
}

.ws-article-body .ws-code code {
  color: inherit;
  background: none;
}

.ws-article-body .tok-com {
  color: #94a3b8;
  font-style: italic;
}

.ws-article-body .tok-str {
  color: #86efac;
}

.ws-article-body .tok-num {
  color: #fca5a5;
}

.ws-article-body .tok-kw {
  color: #93c5fd;
  font-weight: 600;
}

.ws-article-body .tok-fn {
  color: #fcd34d;
}

.th-root .ws-blog-chip {
  border: 1px solid var(--th-border, #e5e5e5);
  color: inherit;
  border-radius: 999px;
  padding: 4px 14px;
  font-size: .85rem;
  text-decoration: none;
  display: inline-block;
}

.ws-blog-chip-active {
  background: var(--th-surface-alt, #f0f0f0);
  font-weight: 600;
}

.th-root .ws-blog-index-title {
  font-family: var(--th-font-display);
  font-size: var(--th-h1);
  margin-bottom: 8px;
}

.ws-blog-index-sub {
  color: var(--th-muted);
  margin-bottom: 24px;
}

.ws-blog-search {
  gap: 10px;
  max-width: 480px;
  margin-bottom: 28px;
  display: flex;
}

.th-root .ws-blog-search-input {
  min-width: 0;
  font: inherit;
  color: inherit;
  background: var(--th-surface, #fff);
  border: 1px solid var(--th-border, #e5e5e5);
  border-radius: var(--th-btn-radius, 10px);
  flex: 1;
  padding: 10px 14px;
}

.th-root .ws-blog-btn {
  font: inherit;
  color: var(--th-btn-primary-text, #fff);
  background: var(--th-btn-primary-bg, var(--th-primary, #333));
  border-radius: var(--th-btn-radius, 10px);
  cursor: pointer;
  border: none;
  padding: 10px 18px;
  font-weight: 600;
}

.ws-blog-cats {
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 32px;
  display: flex;
}

.ws-blog-empty {
  color: var(--th-muted);
}

.ws-archive-grid, .ws-archive-magazine {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 28px;
  display: grid;
}

.ws-archive-list {
  flex-direction: column;
  gap: 28px;
  display: flex;
}

.ws-archive-list article > a > img, .ws-archive-list article > a > div:first-child {
  grid-row: 1 / span 5;
}

.ws-archive-list article > a > :not(img):not(div:first-child) {
  grid-column: 2;
}

.ws-archive-lead {
  margin-bottom: 32px;
}

.ws-blog-lead-img {
  aspect-ratio: 2;
  object-fit: cover;
  border-radius: var(--th-radius, 12px);
  width: 100%;
  height: auto;
}

.th-root .ws-blog-lead-title {
  font-family: var(--th-font-display);
  font-size: var(--th-h2, 2rem);
  margin-top: 16px;
}

.ws-blog-lead-excerpt {
  color: var(--th-muted);
  margin-top: 8px;
  font-size: 1.05rem;
}

.ws-blog-cardlink {
  color: inherit;
  text-decoration: none;
  display: block;
}

.ws-blog-cardlink-list {
  color: inherit;
  grid-template-columns: minmax(140px, 260px) 1fr;
  align-items: start;
  gap: 20px;
  text-decoration: none;
  display: grid;
}

.ws-blog-card {
  position: relative;
}

.ws-blog-card-img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: var(--th-radius, 12px);
  width: 100%;
  height: auto;
}

.ws-blog-card-ph {
  aspect-ratio: 16 / 10;
  border-radius: var(--th-radius, 12px);
  background: var(--th-surface-alt, #f0f0f0);
  width: 100%;
}

.th-root .ws-blog-card-title {
  font-family: var(--th-font-display);
  font-size: var(--th-h4, 1.25rem);
  margin-top: 14px;
}

.ws-blog-card-excerpt {
  color: var(--th-muted);
  margin-top: 6px;
}

.ws-blog-card-meta {
  color: var(--th-muted);
  margin-top: 8px;
  font-size: .85rem;
}

.ws-blog-readmore {
  color: var(--th-primary, inherit);
  margin-top: 8px;
  font-size: .9rem;
  font-weight: 600;
}

.ws-blog-cardcats {
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
  display: flex;
}

.ws-blog-cardcat {
  border: 1px solid var(--th-border, #e5e5e5);
  color: var(--th-muted);
  border-radius: 999px;
  padding: 2px 10px;
  font-size: .78rem;
  text-decoration: none;
  display: inline-block;
}

.ws-blog-pagination {
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 48px;
  display: flex;
}

.ws-blog-page-status {
  color: var(--th-muted);
  font-size: .9rem;
}

.ws-article-back {
  color: var(--th-muted);
  font-size: .9rem;
  text-decoration: none;
}

.th-root .ws-article-title {
  font-family: var(--th-font-display);
  font-size: var(--th-h1);
  margin: 16px 0 8px;
}

.ws-article-byline {
  color: var(--th-muted);
  margin-bottom: 24px;
}

.ws-article-byline-link {
  color: inherit;
  -webkit-text-decoration-color: var(--th-border, #e5e5e5);
  text-decoration-color: var(--th-border, #e5e5e5);
}

.ws-cover-fullBleed {
  aspect-ratio: 21 / 9;
  object-fit: cover;
  width: 100vw;
  max-width: 100vw;
  height: auto;
  margin-bottom: 28px;
  margin-left: calc(50% - 50vw);
}

.ws-cover-side {
  float: right;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--th-radius, 12px);
  width: min(46%, 420px);
  height: auto;
  margin: 0 0 16px 20px;
}

.ws-cover-inline {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: var(--th-radius, 12px);
  width: 100%;
  height: auto;
  margin-bottom: 28px;
}

.ws-article-takeaway {
  border-left: 4px solid var(--th-primary, #333);
  background: var(--th-surface-alt, #f6f6f6);
  border-radius: var(--th-radius, 12px);
  margin-bottom: 28px;
  padding: 16px 20px;
  line-height: 1.7;
}

.ws-article-toc {
  border: 1px solid var(--th-border, #e5e5e5);
  border-radius: var(--th-radius, 12px);
  margin-bottom: 28px;
  padding: 16px 20px;
}

.ws-article-toc-heading {
  margin-bottom: 8px;
  font-weight: 700;
}

.ws-article-toc-list {
  flex-direction: column;
  gap: 6px;
  list-style: none;
  display: flex;
}

.ws-article-toc-link {
  color: var(--th-primary, inherit);
  text-decoration: none;
}

.ws-sidebar-toc-layout {
  align-items: flex-start;
  gap: 32px;
  display: flex;
}

.ws-toc-rail {
  border: 1px solid var(--th-border, #e5e5e5);
  border-radius: var(--th-radius, 12px);
  flex: 0 0 240px;
  padding: 16px 20px;
  position: sticky;
  top: 88px;
}

.ws-toc-rail-list {
  font-size: .9rem;
}

.ws-article-body-col {
  flex: 1;
  min-width: 0;
}

.ws-article-clear {
  clear: both;
}

.ws-article-tags {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 32px;
  display: flex;
}

.ws-article-tag {
  border: 1px solid var(--th-border, #e5e5e5);
  color: var(--th-muted);
  border-radius: 999px;
  padding: 4px 12px;
  font-size: .82rem;
  text-decoration: none;
}

.ws-article-author {
  border: 1px solid var(--th-border, #e5e5e5);
  border-radius: var(--th-radius, 12px);
  align-items: flex-start;
  gap: 16px;
  margin-top: 40px;
  padding: 20px 24px;
  display: flex;
}

.ws-article-avatar {
  object-fit: cover;
  border-radius: 50%;
  flex-shrink: 0;
  width: 64px;
  height: 64px;
}

.ws-article-author-label {
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--th-muted);
  margin-bottom: 4px;
  font-size: .78rem;
}

.ws-article-author-role {
  color: var(--th-muted);
  margin-bottom: 8px;
  font-size: .9rem;
}

.ws-article-author-bio {
  margin-bottom: 10px;
  line-height: 1.6;
}

.ws-article-author-link {
  color: var(--th-primary, inherit);
  font-size: .9rem;
  font-weight: 600;
  text-decoration: none;
}

.ws-article-series {
  margin-top: 28px;
}

.ws-article-series-link {
  border: 1px solid var(--th-border, #e5e5e5);
  color: inherit;
  border-radius: 999px;
  padding: 6px 14px;
  font-size: .85rem;
  text-decoration: none;
}

.ws-article-share {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 32px;
  display: flex;
}

.ws-article-share-label {
  font-size: .9rem;
  font-weight: 600;
}

.ws-share-link {
  border: 1px solid var(--th-border, #e5e5e5);
  color: inherit;
  border-radius: 999px;
  padding: 4px 12px;
  font-size: .82rem;
  text-decoration: none;
}

.ws-article-adjacent {
  border-top: 1px solid var(--th-border, #e5e5e5);
  justify-content: space-between;
  gap: 16px;
  margin-top: 32px;
  padding-top: 20px;
  display: flex;
}

.ws-article-adjacent-link {
  color: inherit;
  max-width: 48%;
  text-decoration: none;
}

.ws-article-adjacent-next {
  text-align: right;
}

.ws-article-adjacent-label {
  color: var(--th-muted);
  font-size: .78rem;
  display: block;
}

.ws-article-adjacent-title {
  font-weight: 600;
}

.ws-article-section {
  margin-top: 48px;
}

.th-root .ws-article-section-title {
  font-family: var(--th-font-display);
  font-size: var(--th-h3, 1.5rem);
  margin-bottom: 16px;
}

.ws-comment-empty {
  color: var(--th-muted);
  margin-bottom: 16px;
}

.ws-comment-list {
  flex-direction: column;
  gap: 16px;
  margin-bottom: 24px;
  display: flex;
}

.ws-comment {
  border-left: 3px solid var(--th-border, #e5e5e5);
  padding-left: 14px;
}

.ws-comment-author {
  margin-bottom: 2px;
  font-weight: 600;
}

.ws-comment-time {
  color: var(--th-muted);
  font-size: .78rem;
  font-weight: 400;
}

.ws-comment-body {
  white-space: pre-wrap;
  line-height: 1.6;
}

.ws-related-grid {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 20px;
  display: grid;
}

.ws-blog-related-img {
  margin-bottom: 10px;
}

.ws-blog-related-title {
  font-weight: 600;
  line-height: 1.4;
}

.ws-article-faq-list {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.ws-article-faq-q {
  margin-bottom: 4px;
  font-weight: 600;
}

.ws-article-faq-a {
  color: var(--th-muted);
}

.ws-comment-done {
  border-radius: var(--th-radius, 12px);
  background: var(--th-surface-alt, #f6f6f6);
  padding: 12px 16px;
}

.ws-comment-form {
  flex-direction: column;
  gap: 10px;
  max-width: 560px;
  display: flex;
}

.ws-comment-form-row {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}

.th-root .ws-comment-field {
  width: 100%;
  font: inherit;
  color: #1f2937;
  border: 1px solid var(--th-border, #e5e5e5);
  background: #fff;
  border-radius: 8px;
  padding: 10px 12px;
}

.ws-comment-field-inline {
  flex: 1;
  min-width: 160px;
}

.ws-comment-error {
  color: #b91c1c;
  font-size: .85rem;
}

.ws-comment-submit {
  align-self: flex-start;
}

.ws-sum-row {
  justify-content: space-between;
  margin-bottom: 4px;
  font-size: 14px;
  font-weight: 400;
  display: flex;
}

.ws-sum-row-bold {
  font-weight: 700;
}

.ws-sum-row-label {
  color: var(--th-muted);
}

.ws-sum-row-label-bold {
  color: var(--th-ink);
}

.ws-cart-empty {
  text-align: center;
  color: var(--th-muted);
  padding: 60px 0;
}

.ws-cart-empty-text {
  margin-top: 12px;
}

.ws-cart-empty-link {
  color: var(--th-brand);
  margin-top: 16px;
  display: inline-block;
}

.th-root .ws-cart-title {
  font-family: var(--th-font-display);
  font-size: var(--th-h1);
  margin-bottom: 28px;
}

.ws-cart-grid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 40px;
  display: grid;
}

.ws-cart-col {
  flex-direction: column;
  gap: 24px;
  display: flex;
}

.ws-cart-lines {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.ws-cart-line {
  align-items: center;
  gap: 14px;
  display: flex;
}

.ws-cart-line-img {
  object-fit: cover;
  border-radius: var(--th-radius-sm, 8px);
  width: 64px;
  height: 64px;
}

.ws-cart-line-ph {
  border-radius: var(--th-radius-sm, 8px);
  background: var(--th-surface-alt, #f0f0f0);
  width: 64px;
  height: 64px;
}

.ws-cart-line-info {
  flex: 1;
  min-width: 0;
}

.ws-cart-line-title {
  font-weight: 600;
}

.ws-cart-line-sub {
  color: var(--th-muted);
  font-size: 13px;
}

.ws-cart-line-warn {
  color: var(--th-danger, #c0392b);
  font-size: 12px;
}

.ws-cart-qty {
  border: 1px solid var(--th-line);
  border-radius: 8px;
  align-items: center;
  display: inline-flex;
}

.ws-cart-qbtn {
  cursor: pointer;
  color: var(--th-ink);
  background: none;
  border: none;
  padding: 8px 10px;
  display: inline-flex;
}

.ws-cart-qbtn-danger {
  color: var(--th-danger, #c0392b);
}

.ws-cart-qty-value {
  text-align: center;
  min-width: 28px;
  font-size: 14px;
}

.ws-cart-summary {
  border: 1px solid var(--th-line);
  border-radius: var(--th-radius-md, 12px);
  align-self: start;
  padding: 24px;
}

.th-root .ws-cart-summary-title {
  font-family: var(--th-font-display);
  font-size: var(--th-h4, 1.25rem);
  margin-bottom: 16px;
}

.ws-cart-field {
  margin-bottom: 16px;
}

.ws-cart-field-label {
  color: var(--th-muted);
  margin-bottom: 6px;
  font-size: 13px;
}

.th-root .ws-cart-input {
  border-radius: var(--th-radius-sm, 8px);
  border: 1px solid var(--th-line);
  background: var(--th-bg);
  color: var(--th-ink);
  width: 100%;
  padding: 10px 12px;
  font-size: 14px;
}

.th-root .ws-cart-input-flex {
  flex: 1;
}

.ws-cart-coupon-row {
  gap: 8px;
  display: flex;
}

.th-root .ws-cart-ghost-btn {
  border-radius: var(--th-radius-sm, 8px);
  border: 1px solid var(--th-line);
  color: var(--th-ink);
  cursor: pointer;
  background: none;
  padding: 10px 14px;
  font-size: 14px;
}

.ws-cart-coupon-msg {
  margin-top: 6px;
  font-size: 12px;
}

.ws-cart-pay-option {
  cursor: pointer;
  align-items: flex-start;
  gap: 8px;
  padding: 6px 0;
  font-size: 14px;
  display: flex;
}

.ws-cart-pay-radio {
  margin-top: 3px;
}

.ws-cart-pay-desc {
  color: var(--th-muted);
  font-size: 12px;
  display: block;
}

.ws-cart-pay-instructions {
  color: var(--th-muted);
  white-space: pre-wrap;
  background: var(--th-surface-alt, #f6f3ee);
  border-radius: 8px;
  margin-top: 6px;
  padding: 10px;
  font-size: 12px;
}

.ws-cart-totals {
  border-top: 1px solid var(--th-line);
  padding-top: 12px;
}

.ws-cart-total-row {
  border-top: 1px solid var(--th-line);
  margin: 12px 0;
  padding-top: 12px;
}

.ws-cart-error {
  color: var(--th-danger, #c0392b);
  margin-bottom: 8px;
  font-size: 13px;
}

.th-root .ws-cart-place-btn {
  border-radius: var(--th-radius, 999px);
  background: var(--th-brand);
  width: 100%;
  color: var(--th-on-brand);
  border: none;
  padding: 14px;
  font-weight: 600;
}

.ws-cart-form {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.th-root .ws-cart-form-title {
  font-family: var(--th-font-display);
  font-size: var(--th-h4, 1.25rem);
}

.ws-cart-form-2col {
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  display: grid;
}

.ws-buy {
  flex-direction: column;
  gap: 18px;
  display: flex;
}

.ws-buy-price {
  font-family: var(--th-font-display);
  font-size: var(--th-h2);
}

.ws-buy-compare {
  color: var(--th-muted);
  margin-left: 12px;
  font-size: 1rem;
  text-decoration: line-through;
}

.ws-buy-stock {
  font-size: 14px;
}

.ws-buy-opt-label {
  color: var(--th-muted);
  margin-bottom: 8px;
  font-size: 14px;
}

.ws-buy-opt-value {
  color: var(--th-ink);
}

.ws-buy-swatches {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.ws-buy-actions {
  align-items: center;
  gap: 16px;
  display: flex;
}

.ws-buy-qty {
  border: 1px solid var(--th-line);
  border-radius: var(--th-radius-sm, 8px);
  align-items: center;
  display: inline-flex;
}

.ws-buy-qbtn {
  cursor: pointer;
  color: var(--th-ink);
  background: none;
  border: none;
  padding: 10px 12px;
  display: inline-flex;
}

.ws-buy-qty-value {
  text-align: center;
  min-width: 36px;
}

.th-root .ws-buy-add {
  border-radius: var(--th-radius, 999px);
  color: var(--th-on-brand);
  border: none;
  flex: 1;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 14px 24px;
  font-size: 15px;
  font-weight: 600;
  display: inline-flex;
}

.ws-buy-viewcart {
  color: var(--th-muted);
  cursor: pointer;
  text-align: left;
  background: none;
  border: none;
  font-size: 14px;
}

.th-root .ws-atc-btn {
  border-radius: var(--th-radius-sm);
  border: 1px solid var(--th-line);
  background: var(--th-surface);
  color: var(--th-ink);
  cursor: pointer;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  padding: 10px 16px;
  font-size: 14px;
  text-decoration: none;
  display: inline-flex;
}

.th-root .ws-atc-btn-tint {
  color: #16160e;
  background: #fff;
  border-color: #0000;
}

.th-root .ws-atc-btn-disabled {
  cursor: not-allowed;
  opacity: .6;
}

.ws-cart-badge {
  color: var(--th-ink);
  display: inline-flex;
  position: relative;
}

.ws-cart-badge-count {
  background: var(--th-brand);
  color: var(--th-on-brand);
  border-radius: 999px;
  padding: 1px 5px;
  font-size: 10px;
  position: absolute;
  top: -6px;
  right: -8px;
}

.ws-order-icon {
  color: var(--th-brand);
}

.ws-order-lookup {
  max-width: 440px;
  margin: 0 auto;
}

.ws-order-lookup-head {
  text-align: center;
  margin-bottom: 24px;
}

.th-root .ws-order-title {
  font-family: var(--th-font-display);
  font-size: var(--th-h2);
  margin-top: 12px;
}

.ws-order-lookup-desc {
  color: var(--th-muted);
  margin-top: 8px;
  font-size: 14px;
}

.ws-order-form {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.th-root .ws-order-input {
  border-radius: var(--th-radius-sm, 8px);
  border: 1px solid var(--th-line);
  background: var(--th-bg);
  color: var(--th-ink);
  width: 100%;
  padding: 12px 14px;
  font-size: 14px;
}

.ws-order-error {
  color: var(--th-danger, #c0392b);
  font-size: 13px;
}

.th-root .ws-order-btn {
  border-radius: var(--th-radius, 999px);
  background: var(--th-brand);
  color: var(--th-on-brand);
  border: none;
  padding: 13px;
  font-weight: 600;
}

.ws-order {
  max-width: 640px;
  margin: 0 auto;
}

.ws-order-head {
  text-align: center;
  margin-bottom: 28px;
}

.ws-order-placed {
  color: var(--th-muted);
  margin-top: 8px;
}

.ws-order-badges {
  gap: 8px;
  margin-top: 14px;
  display: inline-flex;
}

.ws-order-note {
  background: var(--th-surface-alt, #f6f3ee);
  border-radius: var(--th-radius-md, 12px);
  margin-bottom: 24px;
  padding: 18px;
}

.ws-order-note-title {
  margin-bottom: 6px;
  font-weight: 600;
}

.ws-order-note-body {
  white-space: pre-wrap;
  color: var(--th-muted);
  font-size: 14px;
}

.ws-order-note-strong {
  font-weight: 600;
}

.ws-order-note-sub {
  color: var(--th-muted);
  margin-top: 4px;
  font-size: 14px;
}

.ws-order-items {
  border: 1px solid var(--th-line);
  border-radius: var(--th-radius-md, 12px);
  padding: 20px;
}

.ws-order-item {
  justify-content: space-between;
  padding: 6px 0;
  font-size: 14px;
  display: flex;
}

.ws-order-totals {
  border-top: 1px solid var(--th-line);
  margin-top: 10px;
  padding-top: 10px;
}

.ws-order-total-row {
  border-top: 1px solid var(--th-line);
  margin-top: 8px;
  padding-top: 8px;
}

.ws-order-addr {
  color: var(--th-muted);
  margin-top: 20px;
  font-size: 14px;
}

.ws-order-addr-title {
  color: var(--th-ink);
  margin-bottom: 4px;
  font-weight: 600;
}

.ws-order-continue {
  text-align: center;
  margin-top: 28px;
}

.ws-order-continue-link {
  color: var(--th-brand);
}

.ws-order-badge {
  background: var(--th-surface-alt, #eee);
  color: var(--th-ink);
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 12px;
}

.th-root .ws-shop-title {
  font-family: var(--th-font-display);
  font-size: var(--th-h1);
  margin-bottom: 8px;
}

.ws-shop-count {
  color: var(--th-muted);
  margin-bottom: 24px;
}

.ws-shop-filters {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  display: flex;
}

.ws-shop-chips {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.ws-shop-brands {
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
  display: flex;
}

.ws-shop-toolbar {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  display: flex;
}

.ws-shop-search-form {
  gap: 8px;
  display: flex;
}

.th-root .ws-shop-search-input {
  border-radius: var(--th-radius-sm, 8px);
  border: 1px solid var(--th-line);
  background: var(--th-bg);
  color: var(--th-ink);
  padding: 9px 12px;
  font-size: 14px;
}

.th-root .ws-shop-search-btn {
  border-radius: var(--th-radius-sm, 8px);
  border: 1px solid var(--th-line);
  color: var(--th-ink);
  cursor: pointer;
  background: none;
  padding: 9px 16px;
  font-size: 14px;
}

.ws-shop-sorts {
  gap: 6px;
  display: flex;
}

.ws-shop-empty {
  text-align: center;
  color: var(--th-muted);
  padding: 60px 0;
}

.ws-shop-grid {
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 24px;
  display: grid;
}

.ws-shop-card {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.ws-shop-card-link {
  color: inherit;
  text-decoration: none;
}

.ws-shop-card-media {
  border-radius: var(--th-radius-md);
  background: var(--th-surface);
  aspect-ratio: 1;
  position: relative;
  overflow: hidden;
}

.ws-shop-card-img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.ws-shop-card-ph {
  width: 100%;
  height: 100%;
}

.ws-shop-soldout {
  background: var(--th-ink);
  color: var(--th-bg);
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 12px;
  position: absolute;
  top: 10px;
  left: 10px;
}

.ws-shop-card-name {
  margin-top: 8px;
  font-weight: 600;
}

.ws-shop-price-row {
  align-items: baseline;
  gap: 8px;
  display: flex;
}

.ws-shop-price {
  color: var(--th-brand);
  font-weight: 600;
}

.ws-shop-compare {
  color: var(--th-muted);
  font-size: 14px;
  text-decoration: line-through;
}

.th-root .ws-shop-chip {
  border: 1px solid var(--th-line);
  color: var(--th-ink);
  background: none;
  border-radius: 999px;
  padding: 8px 14px;
  font-size: 13px;
  text-decoration: none;
}

.th-root .ws-shop-chip-subtle {
  padding: 6px 12px;
}

.th-root .ws-shop-chip-on {
  background: var(--th-brand);
  color: var(--th-on-brand);
}

.ws-product-grid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 40px;
  display: grid;
}

.th-root .ws-product-title {
  font-family: var(--th-font-display);
  font-size: var(--th-h1);
  margin-bottom: 12px;
}

.ws-product-desc {
  color: var(--th-muted);
  margin-bottom: 24px;
  line-height: 1.6;
}

.ws-product-attrs {
  grid-template-columns: auto 1fr;
  gap: 6px 16px;
  margin-top: 32px;
  font-size: 14px;
  display: grid;
}

.ws-product-attr-row {
  display: contents;
}

.ws-product-attr-key {
  color: var(--th-muted);
}

.ws-product-attr-val {
  margin: 0;
}

.ws-pgallery-ph {
  aspect-ratio: 1;
  border-radius: var(--th-radius, 12px);
  background: var(--th-surface-alt, #f0f0f0);
  width: 100%;
}

.ws-pgallery-main {
  border-radius: var(--th-radius, 12px);
  object-fit: cover;
  aspect-ratio: 1;
  width: 100%;
}

.ws-pgallery-thumbs {
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
  display: flex;
}

.th-root .ws-pgallery-thumb {
  border-radius: var(--th-radius-sm, 8px);
  cursor: pointer;
  background: none;
  width: 64px;
  height: 64px;
  padding: 0;
  overflow: hidden;
}

.ws-pgallery-thumb-img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.th-root .ws-gallery-title {
  font-family: var(--th-font-display);
  font-size: var(--th-h1);
  margin-bottom: 8px;
}

.ws-gallery-desc {
  color: var(--th-muted);
  margin-bottom: 32px;
}

.ws-gallery-empty {
  color: var(--th-muted);
}

.ws-gallery-grid {
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
  display: grid;
}

.ws-gallery-figure {
  margin: 0;
}

.ws-gallery-img {
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--th-radius, 12px);
  width: 100%;
}

.ws-gallery-caption {
  color: var(--th-muted);
  margin-top: 6px;
  font-size: .85rem;
}

.ws-newsletter-tagline {
  opacity: .8;
  margin-bottom: 8px;
  font-size: 14px;
}

.ws-newsletter-form {
  gap: 8px;
  display: flex;
}

.th-root .ws-newsletter-input {
  color: #1f2937;
  background: #fff;
  border: 1px solid #00000026;
  border-radius: 8px;
  flex: 1;
  padding: 10px 12px;
  font-size: 14px;
}

.th-root .ws-newsletter-submit {
  background: var(--th-btn-primary-bg, var(--th-brand-fill));
  color: var(--th-btn-primary-text, #fff);
  border: none;
  border-radius: 8px;
  padding: 0 16px;
}

.th-root .ws-newsletter-submit:hover {
  background: var(--th-btn-primary-bg, var(--th-brand-fill));
}

.ws-newsletter-submit-slot {
  display: inline-flex;
}

.ws-newsletter-submit-slot[data-busy] {
  pointer-events: none;
  opacity: .7;
}

.ws-newsletter-msg {
  opacity: .9;
  margin-top: 8px;
  font-size: 13px;
}

.ws-payicon-row {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  display: flex;
}

.ws-payicon-badge {
  border-radius: 4px;
  display: block;
}

.ws-payicon-fallback {
  text-transform: uppercase;
  letter-spacing: .03em;
  background: #ffffff1f;
  border-radius: 4px;
  padding: 3px 6px;
  font-size: 10px;
}

.ws-gate-root {
  text-align: center;
  place-items: center;
  min-height: 100vh;
  padding: 24px;
  display: grid;
}

.ws-gate-inner {
  max-width: 520px;
}

.ws-gate-logo {
  object-fit: contain;
  height: 44px;
  margin: 0 auto 24px;
}

.ws-gate-brand {
  font-family: var(--th-font-display);
  font-size: var(--th-h3);
  margin-bottom: 16px;
}

.th-root .ws-gate-title {
  font-family: var(--th-font-display);
  font-size: var(--th-h1);
  line-height: 1.1;
}

.ws-gate-text {
  color: var(--th-muted);
  font-size: var(--th-body);
  margin-top: 16px;
}

.ws-gate-404 {
  font-size: 64px;
  font-weight: 700;
  line-height: 1;
  font-family: var(--th-font-display);
  margin: 0;
}

.ws-gate-note {
  color: var(--th-muted);
  font-size: var(--th-body);
  margin-top: 12px;
}

.th-root .ws-gate-cta {
  background: var(--th-brand);
  color: var(--th-on-brand);
  border-radius: 999px;
  margin-top: 24px;
  padding: 10px 18px;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
}

.th-root .ws-gate-blocked-title {
  font-family: var(--th-font-display);
  font-size: var(--th-h2);
}

.ws-gate-blocked-body {
  color: var(--th-muted);
  margin-top: 12px;
}

.ws-site-root {
  flex-direction: column;
  min-height: 100vh;
  display: flex;
}

.ws-site-main {
  flex: 1;
}

.ws-site-container {
  max-width: var(--th-container, 1100px);
  width: 100%;
  margin: 0 auto;
  padding: clamp(32px, 6vw, 80px) 24px;
}

.ws-placeholder-root {
  text-align: center;
  place-items: center;
  min-height: 100vh;
  padding: 24px;
  display: grid;
}

.ws-placeholder-name {
  font-family: var(--th-font-display);
  font-size: var(--th-h2);
}

.ws-placeholder-sub {
  color: var(--th-muted);
  margin-top: 8px;
}

.th-root .ws-placeholder-cta {
  background: var(--th-brand);
  color: var(--th-on-brand);
  border-radius: 999px;
  margin-top: 20px;
  padding: 10px 18px;
  text-decoration: none;
  display: inline-block;
}

.ws-langsw {
  color: var(--th-ink);
  align-items: center;
  gap: 10px;
  font-size: 14px;
  display: inline-flex;
}

.th-root .ws-langsw-link {
  color: var(--th-ink-soft, var(--th-ink));
  border-radius: 6px;
  padding: 2px 6px;
  text-decoration: none;
}

.th-root .ws-langsw-link:hover {
  color: var(--th-brand);
}

.th-root .ws-langsw-current {
  color: var(--th-brand);
  font-weight: 600;
}

.ws-langsw-dd {
  display: inline-block;
  position: relative;
}

.ws-langsw-summary {
  cursor: pointer;
  color: var(--th-ink);
  align-items: center;
  gap: 6px;
  list-style: none;
  display: inline-flex;
}

.ws-langsw-summary::-webkit-details-marker {
  display: none;
}

.ws-langsw-dd .ws-langsw-menu {
  background: var(--th-surface, #fff);
  border: 1px solid var(--th-line);
  border-radius: var(--th-radius-md, 10px);
  z-index: 60;
  flex-direction: column;
  gap: 2px;
  min-width: 140px;
  margin-top: 8px;
  padding: 6px;
  display: flex;
  position: absolute;
  top: 100%;
  right: 0;
  box-shadow: 0 12px 32px #0000001f;
}

.ws-lang-root {
  position: relative;
}

.ws-lang-trigger {
  cursor: pointer;
  color: var(--th-ink);
  background: none;
  border: none;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  display: inline-flex;
}

.ws-lang-menu {
  background: var(--th-surface, #fff);
  border: 1px solid var(--th-line);
  border-radius: var(--th-radius-md, 10px);
  z-index: 60;
  min-width: 160px;
  margin-top: 8px;
  padding: 6px;
  list-style: none;
  position: absolute;
  top: 100%;
  right: 0;
  box-shadow: 0 12px 32px #0000001f;
}

.th-root .ws-lang-option {
  text-align: left;
  cursor: pointer;
  width: 100%;
  color: var(--th-ink);
  border-radius: var(--th-radius-sm, 6px);
  background: none;
  border: none;
  padding: 8px 10px;
  font-size: 14px;
  display: block;
}

.th-root .ws-lang-option-current {
  background: var(--th-surface-alt, #f2f2f2);
}

.ws-popup-overlay {
  z-index: 90;
  place-items: center;
  padding: 16px;
  display: grid;
  position: fixed;
  inset: 0;
}

.ws-popup-backdrop {
  background: #0000008c;
  position: absolute;
  inset: 0;
}

.ws-popup-dialog {
  background: var(--th-surface, #fff);
  border-radius: var(--th-radius-md, 12px);
  width: 100%;
  max-width: 640px;
  max-height: 85vh;
  position: relative;
  overflow-y: auto;
  box-shadow: 0 24px 80px #00000059;
}

.th-root .ws-popup-close {
  z-index: 1;
  background: var(--th-surface-alt, #f2f2f2);
  width: 32px;
  height: 32px;
  color: var(--th-ink, #111);
  cursor: pointer;
  border: none;
  border-radius: 999px;
  place-items: center;
  font-size: 18px;
  line-height: 1;
  display: grid;
  position: absolute;
  top: 10px;
  right: 10px;
}

.ws-grid-outline {
  outline: 1px dashed var(--ed-accent, #6d28d9);
  outline-offset: 2px;
}

.ws-grid-outline > * {
  outline: 1px dashed color-mix(in srgb, var(--ed-accent, #6d28d9) 55%, transparent);
  outline-offset: -1px;
  border-radius: 2px;
}

.ws-savedblock-empty {
  border: 1px dashed var(--ed-border, #c8ced8);
  min-height: 72px;
  color: var(--ed-text-muted, #6a7482);
  text-align: center;
  background: repeating-linear-gradient(45deg, #0000, #0000 8px, #7f7f7f0d 8px 16px);
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  padding: 16px 20px;
  font-size: 13px;
  line-height: 1.5;
  display: flex;
}

.placeholder\:font-sans::placeholder {
  font-family: ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
}

.placeholder\:text-ed-text-faint::placeholder {
  color: var(--ed-text-faint);
}

.placeholder\:text-white\/60::placeholder {
  color: #fff9;
}

.before\:absolute:before {
  content: var(--tw-content);
  position: absolute;
}

.before\:inset-x-0:before {
  content: var(--tw-content);
  left: 0;
  right: 0;
}

.before\:bottom-full:before {
  content: var(--tw-content);
  bottom: 100%;
}

.before\:top-full:before {
  content: var(--tw-content);
  top: 100%;
}

.before\:h-1:before {
  content: var(--tw-content);
  height: .25rem;
}

.before\:content-\[\'\'\]:before {
  --tw-content: "";
  content: var(--tw-content);
}

.first\:mt-0:first-child {
  margin-top: 0;
}

.first\:border-t-0:first-child {
  border-top-width: 0;
}

.first\:pt-0:first-child {
  padding-top: 0;
}

.last\:border-0:last-child {
  border-width: 0;
}

.last\:border-b-0:last-child {
  border-bottom-width: 0;
}

.empty\:hidden:empty {
  display: none;
}

.focus-within\:z-30:focus-within {
  z-index: 30;
}

.focus-within\:border-ed-accent:focus-within {
  border-color: var(--ed-accent);
}

.focus-within\:bg-ed-bg-elevated:focus-within {
  background-color: var(--ed-bg-elevated);
}

.focus-within\:opacity-100:focus-within {
  opacity: 1;
}

.focus-within\:\[box-shadow\:var\(--ed-ring-focus\)\]:focus-within {
  box-shadow: var(--ed-ring-focus);
}

.hover\:z-30:hover {
  z-index: 30;
}

.hover\:-translate-y-0\.5:hover {
  --tw-translate-y: -.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:-translate-y-px:hover {
  --tw-translate-y: -1px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-105:hover {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-110:hover {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:border-ed-accent:hover {
  border-color: var(--ed-accent);
}

.hover\:border-ed-border:hover {
  border-color: var(--ed-border);
}

.hover\:border-ed-border-strong:hover {
  border-color: var(--ed-border-strong);
}

.hover\:border-ed-text-faint:hover {
  border-color: var(--ed-text-faint);
}

.hover\:border-red-500\/40:hover {
  border-color: #ef444466;
}

.hover\:\!bg-ed-accent:hover {
  background-color: var(--ed-accent) !important;
}

.hover\:bg-ed-accent:hover {
  background-color: var(--ed-accent);
}

.hover\:bg-ed-accent-hover:hover {
  background-color: var(--ed-accent-hover);
}

.hover\:bg-ed-accent-soft:hover {
  background-color: var(--ed-accent-soft);
}

.hover\:bg-ed-bg-active:hover {
  background-color: var(--ed-bg-active);
}

.hover\:bg-ed-bg-elevated:hover {
  background-color: var(--ed-bg-elevated);
}

.hover\:bg-ed-bg-hover:hover {
  background-color: var(--ed-bg-hover);
}

.hover\:bg-ed-danger-hover:hover {
  background-color: var(--ed-danger-hover);
}

.hover\:bg-ed-danger-soft:hover {
  background-color: var(--ed-danger-soft);
}

.hover\:bg-red-500\/10:hover {
  background-color: #ef44441a;
}

.hover\:text-ed-accent:hover {
  color: var(--ed-accent);
}

.hover\:text-ed-danger:hover {
  color: var(--ed-danger);
}

.hover\:text-ed-text-default:hover {
  color: var(--ed-text-default);
}

.hover\:text-ed-text-muted:hover {
  color: var(--ed-text-muted);
}

.hover\:text-ed-text-on-accent:hover {
  color: var(--ed-text-on-accent);
}

.hover\:text-ed-text-strong:hover {
  color: var(--ed-text-strong);
}

.hover\:text-red-600:hover {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.hover\:underline:hover {
  text-decoration-line: underline;
}

.hover\:decoration-ed-accent:hover {
  -webkit-text-decoration-color: var(--ed-accent);
  text-decoration-color: var(--ed-accent);
}

.hover\:opacity-70:hover {
  opacity: .7;
}

.hover\:opacity-90:hover {
  opacity: .9;
}

.hover\:shadow-ed-md:hover {
  --tw-shadow: var(--ed-shadow-md);
  --tw-shadow-colored: var(--ed-shadow-md);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-ed-sm:hover {
  --tw-shadow: var(--ed-shadow-sm);
  --tw-shadow-colored: var(--ed-shadow-sm);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-ed-xl:hover {
  --tw-shadow: var(--ed-shadow-xl);
  --tw-shadow-colored: var(--ed-shadow-xl);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:outline:hover {
  outline-style: solid;
}

.hover\:outline-1:hover {
  outline-width: 1px;
}

.hover\:outline-ed-hover-outline:hover {
  outline-color: var(--ed-hover-outline);
}

.hover\:brightness-95:hover {
  --tw-brightness: brightness(.95);
  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);
}

.hover\:\[box-shadow\:0_0_0_1px_var\(--ed-border-strong\)\]:hover {
  box-shadow: 0 0 0 1px var(--ed-border-strong);
}

.hover\:\[box-shadow\:var\(--ed-ring-focus\)\]:hover {
  box-shadow: var(--ed-ring-focus);
}

.focus\:border-ed-accent:focus {
  border-color: var(--ed-accent);
}

.focus\:bg-ed-accent-soft:focus {
  background-color: var(--ed-accent-soft);
}

.focus\:font-semibold:focus {
  font-weight: 600;
}

.focus\:text-ed-accent:focus {
  color: var(--ed-accent);
}

.focus\:opacity-100:focus {
  opacity: 1;
}

.focus\:outline-none:focus {
  outline-offset: 2px;
  outline: 2px solid #0000;
}

.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:\[box-shadow\:var\(--ed-ring-focus\)\]:focus {
  box-shadow: var(--ed-ring-focus);
}

.focus-visible\:bg-ed-accent-soft:focus-visible {
  background-color: var(--ed-accent-soft);
}

.focus-visible\:text-ed-accent:focus-visible {
  color: var(--ed-accent);
}

.focus-visible\:opacity-100:focus-visible {
  opacity: 1;
}

.focus-visible\:outline-none:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #0000;
}

.focus-visible\:outline:focus-visible {
  outline-style: solid;
}

.focus-visible\:outline-2:focus-visible {
  outline-width: 2px;
}

.focus-visible\:outline-offset-1:focus-visible {
  outline-offset: 1px;
}

.focus-visible\:outline-ed-accent:focus-visible {
  outline-color: var(--ed-accent);
}

.focus-visible\:ring-2:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-visible\:ring-ed-accent:focus-visible {
  --tw-ring-color: var(--ed-accent);
}

.focus-visible\:\[box-shadow\:var\(--ed-ring-focus\)\]:focus-visible {
  box-shadow: var(--ed-ring-focus);
}

.active\:translate-y-0:active {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.active\:translate-y-px:active {
  --tw-translate-y: 1px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.active\:scale-90:active {
  --tw-scale-x: .9;
  --tw-scale-y: .9;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.active\:scale-95:active {
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.active\:cursor-grabbing:active {
  cursor: grabbing;
}

.active\:bg-ed-accent-active:active {
  background-color: var(--ed-accent-active);
}

.active\:bg-ed-bg-active:active {
  background-color: var(--ed-bg-active);
}

.active\:opacity-80:active {
  opacity: .8;
}

.active\:brightness-90:active {
  --tw-brightness: brightness(.9);
  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);
}

.disabled\:pointer-events-none:disabled {
  pointer-events: none;
}

.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}

.disabled\:opacity-30:disabled {
  opacity: .3;
}

.disabled\:opacity-40:disabled {
  opacity: .4;
}

.disabled\:opacity-50:disabled {
  opacity: .5;
}

.disabled\:opacity-60:disabled {
  opacity: .6;
}

.disabled\:hover\:bg-transparent:hover:disabled {
  background-color: #0000;
}

.disabled\:hover\:text-ed-text-muted:hover:disabled {
  color: var(--ed-text-muted);
}

.group\/gauge:focus-within .group-focus-within\/gauge\:pointer-events-auto {
  pointer-events: auto;
}

.group\/gauge:focus-within .group-focus-within\/gauge\:scale-100 {
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group\/gauge:focus-within .group-focus-within\/gauge\:opacity-100, .group:focus-within .group-focus-within\:opacity-100 {
  opacity: 1;
}

.group\/gauge:hover .group-hover\/gauge\:pointer-events-auto {
  pointer-events: auto;
}

.group\/gauge:hover .group-hover\/gauge\:scale-100 {
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-105 {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-110 {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group\/sc:hover .group-hover\/sc\:border-ed-accent, .group\/var:hover .group-hover\/var\:border-ed-accent {
  border-color: var(--ed-accent);
}

.group\/card:hover .group-hover\/card\:bg-ed-accent-soft {
  background-color: var(--ed-accent-soft);
}

.group\/sc:hover .group-hover\/sc\:bg-ed-accent {
  background-color: var(--ed-accent);
}

.group\/tile:hover .group-hover\/tile\:bg-ed-border-strong {
  background-color: var(--ed-border-strong);
}

.group:hover .group-hover\:bg-black\/40 {
  background-color: #0006;
}

.group:hover .group-hover\:bg-ed-bg-hover {
  background-color: var(--ed-bg-hover);
}

.group\/card:hover .group-hover\/card\:text-ed-accent {
  color: var(--ed-accent);
}

.group\/cat:hover .group-hover\/cat\:text-ed-text-muted {
  color: var(--ed-text-muted);
}

.group\/pc:hover .group-hover\/pc\:text-ed-text-strong {
  color: var(--ed-text-strong);
}

.group\/ph:hover .group-hover\/ph\:text-ed-text-muted {
  color: var(--ed-text-muted);
}

.group\/row:hover .group-hover\/row\:text-ed-accent, .group\/sc:hover .group-hover\/sc\:text-ed-accent {
  color: var(--ed-accent);
}

.group\/sc:hover .group-hover\/sc\:text-ed-text-strong {
  color: var(--ed-text-strong);
}

.group:hover .group-hover\:text-ed-accent {
  color: var(--ed-accent);
}

.group:hover .group-hover\:text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.group\/acc:hover .group-hover\/acc\:opacity-100, .group\/bb:hover .group-hover\/bb\:opacity-100, .group\/card:hover .group-hover\/card\:opacity-100, .group\/faq:hover .group-hover\/faq\:opacity-100, .group\/gauge:hover .group-hover\/gauge\:opacity-100, .group\/ins:hover .group-hover\/ins\:opacity-100, .group\/row:hover .group-hover\/row\:opacity-100, .group:hover .group-hover\:opacity-100 {
  opacity: 1;
}

.group:focus-visible .group-focus-visible\:text-ed-accent {
  color: var(--ed-accent);
}

.has-\[\:focus-visible\]\:border-ed-accent:has(:focus-visible) {
  border-color: var(--ed-accent);
}

.has-\[\:focus-visible\]\:\[box-shadow\:var\(--ed-ring-focus\)\]:has(:focus-visible) {
  box-shadow: var(--ed-ring-focus);
}

@media (max-width: 767px) {
  .max-\[767px\]\:flex {
    display: flex;
  }
}

@media (min-width: 640px) {
  .sm\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .sm\:block {
    display: block;
  }

  .sm\:inline {
    display: inline;
  }

  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sm\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .sm\:py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}

@media (min-width: 768px) {
  .md\:flex {
    display: flex;
  }

  .md\:hidden {
    display: none;
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .md\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .md\:grid-cols-\[260px_1fr\] {
    grid-template-columns: 260px 1fr;
  }

  .md\:flex-row {
    flex-direction: row;
  }

  .md\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .lg\:sticky {
    position: sticky;
  }

  .lg\:top-8 {
    top: 2rem;
  }

  .lg\:top-\[4\.25rem\] {
    top: 4.25rem;
  }

  .lg\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .lg\:inline {
    display: inline;
  }

  .lg\:w-\[320px\] {
    width: 320px;
  }

  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lg\:grid-cols-\[210px_minmax\(0\,1fr\)\] {
    grid-template-columns: 210px minmax(0, 1fr);
  }

  .lg\:flex-row {
    flex-direction: row;
  }

  .lg\:items-start {
    align-items: flex-start;
  }

  .lg\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

@media (min-width: 1280px) {
  .xl\:inline {
    display: inline;
  }

  .xl\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .xl\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1536px) {
  .\32 xl\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .\32 xl\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .\32 xl\:grid-cols-\[240px_minmax\(0\,1fr\)\] {
    grid-template-columns: 240px minmax(0, 1fr);
  }

  .\32 xl\:gap-x-8 {
    column-gap: 2rem;
  }
}

@media (prefers-color-scheme: dark) {
  .dark\:text-amber-400 {
    --tw-text-opacity: 1;
    color: rgb(251 191 36 / var(--tw-text-opacity, 1));
  }

  .dark\:text-amber-500 {
    --tw-text-opacity: 1;
    color: rgb(245 158 11 / var(--tw-text-opacity, 1));
  }

  .dark\:text-emerald-400 {
    --tw-text-opacity: 1;
    color: rgb(52 211 153 / var(--tw-text-opacity, 1));
  }

  .dark\:text-red-400 {
    --tw-text-opacity: 1;
    color: rgb(248 113 113 / var(--tw-text-opacity, 1));
  }

  .dark\:text-sky-400 {
    --tw-text-opacity: 1;
    color: rgb(56 189 248 / var(--tw-text-opacity, 1));
  }

  .dark\:text-amber-300 {
    --tw-text-opacity: 1;
    color: rgb(252 211 77 / var(--tw-text-opacity, 1));
  }

  .dark\:hover\:text-red-400:hover {
    --tw-text-opacity: 1;
    color: rgb(248 113 113 / var(--tw-text-opacity, 1));
  }
}

.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar {
  display: none;
}

/*# sourceMappingURL=src_app_globals_0p2ml0n.css.map*/