/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-5xl: 64rem;
    --container-6xl: 72rem;
    --container-7xl: 80rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --tracking-tight: -0.025em;
    --tracking-normal: 0em;
    --tracking-wider: 0.05em;
    --tracking-widest: 0.1em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --radius-xs: 0.125rem;
    --radius-sm: 0.25rem;
    --radius-md: 0.375rem;
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: Inter var, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-feature-settings: normal;
    font-variation-settings: normal;
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: Fira Code VF, Fira Code, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-feature-settings: normal;
    font-variation-settings: normal;
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .collapse {
    visibility: collapse;
  }
  .invisible {
    visibility: hidden;
  }
  .visible {
    visibility: visible;
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
  }
  .panel-dark {
    position: relative;
    overflow: hidden;
    border-radius: 0.375rem;
    background-color: #16121f;
    background-image: radial-gradient(90% 130% at 90% 8%, rgba(139, 92, 246, 0.3), transparent 55%);
    color: #f3f4f6;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .inset-0 {
    inset: 0px;
  }
  .inset-y-0 {
    inset-block: 0px;
  }
  .left-0 {
    left: 0px;
  }
  .row-1 {
    grid-row: 1;
  }
  .row-2 {
    grid-row: 2;
  }
  .row-3 {
    grid-row: 3;
  }
  .container {
    width: 100%;
    @media (width >= print) {
      max-width: print;
    }
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .mx-auto {
    margin-inline: auto;
  }
  .my-4 {
    margin-block: calc(var(--spacing) * 4);
  }
  .my-6 {
    margin-block: calc(var(--spacing) * 6);
  }
  .my-8 {
    margin-block: calc(var(--spacing) * 8);
  }
  .prose {
    color: var(--tw-prose-body);
    max-width: 65ch;
    :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 1.25em;
      margin-bottom: 1.25em;
    }
    :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: var(--tw-prose-lead);
      font-size: 1.25em;
      line-height: 1.6;
      margin-top: 1.2em;
      margin-bottom: 1.2em;
    }
    :where(a):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: #6d28d9;
      text-decoration: none;
      font-weight: 500;
      transition: colors;
      transition-duration: 150ms;
      transition-property: border-color, color;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
      border-bottom-color: #6b7280;
      border-bottom-width: 1;
      &:hover {
        color: #8b5cf6;
        border-bottom-color: #9ca3af;
      }
    }
    :where(strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: var(--tw-prose-bold);
      font-weight: 600;
    }
    :where(a strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: inherit;
    }
    :where(blockquote strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: inherit;
    }
    :where(thead th strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: inherit;
    }
    :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      list-style-type: decimal;
      margin-top: 1.25em;
      margin-bottom: 1.25em;
      padding-inline-start: 1.625em;
    }
    :where(ol[type="A"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      list-style-type: upper-alpha;
    }
    :where(ol[type="a"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      list-style-type: lower-alpha;
    }
    :where(ol[type="A" s]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      list-style-type: upper-alpha;
    }
    :where(ol[type="a" s]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      list-style-type: lower-alpha;
    }
    :where(ol[type="I"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      list-style-type: upper-roman;
    }
    :where(ol[type="i"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      list-style-type: lower-roman;
    }
    :where(ol[type="I" s]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      list-style-type: upper-roman;
    }
    :where(ol[type="i" s]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      list-style-type: lower-roman;
    }
    :where(ol[type="1"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      list-style-type: decimal;
    }
    :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      list-style-type: disc;
      margin-top: 1.25em;
      margin-bottom: 1.25em;
      padding-inline-start: 1.625em;
    }
    :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker {
      font-weight: 400;
      color: var(--tw-prose-counters);
    }
    :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker {
      color: var(--tw-prose-bullets);
    }
    :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 600;
      margin-top: 1.25em;
    }
    :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      border-color: var(--tw-prose-hr);
      border-top-width: 1px;
      margin-top: 3em;
      margin-bottom: 3em;
    }
    :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-weight: 500;
      font-style: italic;
      color: var(--tw-prose-quotes);
      border-inline-start-width: 0.25rem;
      border-inline-start-color: var(--tw-prose-quote-borders);
      quotes: "\201C""\201D""\2018""\2019";
      margin-top: 1.6em;
      margin-bottom: 1.6em;
      padding-inline-start: 1em;
      border-left-color: #a855f7;
    }
    :where(blockquote p:first-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::before {
      content: open-quote;
    }
    :where(blockquote p:last-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::after {
      content: close-quote;
    }
    :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 800;
      font-size: 2.25em;
      margin-top: 0;
      margin-bottom: 0.8888889em;
      line-height: 1.1111111;
    }
    :where(h1 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-weight: 900;
      color: inherit;
    }
    :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 700;
      font-size: 1.5em;
      margin-top: 2em;
      margin-bottom: 1em;
      line-height: 1.3333333;
    }
    :where(h2 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-weight: 800;
      color: inherit;
    }
    :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 600;
      font-size: 1.25em;
      margin-top: 1.6em;
      margin-bottom: 0.6em;
      line-height: 1.6;
    }
    :where(h3 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-weight: 700;
      color: inherit;
    }
    :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 600;
      margin-top: 1.5em;
      margin-bottom: 0.5em;
      line-height: 1.5;
    }
    :where(h4 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-weight: 700;
      color: inherit;
    }
    :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 2em;
      margin-bottom: 2em;
    }
    :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      display: block;
      margin-top: 2em;
      margin-bottom: 2em;
    }
    :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 2em;
      margin-bottom: 2em;
    }
    :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-weight: 500;
      font-family: inherit;
      color: var(--tw-prose-kbd);
      box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);
      font-size: 0.875em;
      border-radius: 0.3125rem;
      padding-top: 0.1875em;
      padding-inline-end: 0.375em;
      padding-bottom: 0.1875em;
      padding-inline-start: 0.375em;
    }
    :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-size: 0.875em;
    }
    :where(a code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: inherit;
    }
    :where(h1 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: inherit;
    }
    :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: inherit;
      font-size: 0.875em;
    }
    :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: inherit;
      font-size: 0.9em;
    }
    :where(h4 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: inherit;
    }
    :where(blockquote code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: inherit;
    }
    :where(thead th code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: inherit;
    }
    :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      overflow-x: auto;
      font-weight: 400;
      font-size: 0.875em;
      line-height: 1.7142857;
      margin-top: 1.7142857em;
      margin-bottom: 1.7142857em;
      border-radius: 0.375rem;
      padding-top: 0.8571429em;
      padding-inline-end: 1.1428571em;
      padding-bottom: 0.8571429em;
      padding-inline-start: 1.1428571em;
    }
    :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      border-width: 0;
      border-radius: 0;
      padding: 0;
      font-weight: inherit;
    }
    :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before {
      content: ;
    }
    :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after {
      content: ;
    }
    :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      width: 100%;
      table-layout: auto;
      margin-top: 2em;
      margin-bottom: 2em;
      font-size: 0.875em;
      line-height: 1.7142857;
    }
    :where(thead):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      border-bottom-width: 1px;
      border-bottom-color: var(--tw-prose-th-borders);
    }
    :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 600;
      vertical-align: bottom;
      padding-inline-end: 0.5714286em;
      padding-bottom: 0.5714286em;
      padding-inline-start: 0.5714286em;
    }
    :where(tbody tr):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      border-bottom-width: 1px;
      border-bottom-color: var(--tw-prose-td-borders);
    }
    :where(tbody tr:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      border-bottom-width: 0;
    }
    :where(tbody td):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      vertical-align: baseline;
    }
    :where(tfoot):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      border-top-width: 1px;
      border-top-color: var(--tw-prose-th-borders);
    }
    :where(tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      vertical-align: top;
    }
    :where(th, td):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      text-align: start;
    }
    :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0;
      margin-bottom: 0;
    }
    :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: var(--tw-prose-captions);
      font-size: 0.875em;
      line-height: 1.4285714;
      margin-top: 0.8571429em;
    }
    --tw-prose-body: oklch(37.3% 0.034 259.733);
    --tw-prose-headings: oklch(21% 0.034 264.665);
    --tw-prose-lead: oklch(44.6% 0.03 256.802);
    --tw-prose-links: oklch(21% 0.034 264.665);
    --tw-prose-bold: oklch(21% 0.034 264.665);
    --tw-prose-counters: oklch(55.1% 0.027 264.364);
    --tw-prose-bullets: oklch(87.2% 0.01 258.338);
    --tw-prose-hr: oklch(92.8% 0.006 264.531);
    --tw-prose-quotes: oklch(21% 0.034 264.665);
    --tw-prose-quote-borders: oklch(92.8% 0.006 264.531);
    --tw-prose-captions: oklch(55.1% 0.027 264.364);
    --tw-prose-kbd: oklch(21% 0.034 264.665);
    --tw-prose-kbd-shadows: color-mix(in oklab, oklch(21% 0.034 264.665) 10%, transparent);
    --tw-prose-code: oklch(21% 0.034 264.665);
    --tw-prose-pre-code: oklch(92.8% 0.006 264.531);
    --tw-prose-pre-bg: oklch(27.8% 0.033 256.848);
    --tw-prose-th-borders: oklch(87.2% 0.01 258.338);
    --tw-prose-td-borders: oklch(92.8% 0.006 264.531);
    --tw-prose-invert-body: oklch(87.2% 0.01 258.338);
    --tw-prose-invert-headings: #fff;
    --tw-prose-invert-lead: oklch(70.7% 0.022 261.325);
    --tw-prose-invert-links: #fff;
    --tw-prose-invert-bold: #fff;
    --tw-prose-invert-counters: oklch(70.7% 0.022 261.325);
    --tw-prose-invert-bullets: oklch(44.6% 0.03 256.802);
    --tw-prose-invert-hr: oklch(37.3% 0.034 259.733);
    --tw-prose-invert-quotes: oklch(96.7% 0.003 264.542);
    --tw-prose-invert-quote-borders: oklch(37.3% 0.034 259.733);
    --tw-prose-invert-captions: oklch(70.7% 0.022 261.325);
    --tw-prose-invert-kbd: #fff;
    --tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);
    --tw-prose-invert-code: #fff;
    --tw-prose-invert-pre-code: oklch(87.2% 0.01 258.338);
    --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
    --tw-prose-invert-th-borders: oklch(44.6% 0.03 256.802);
    --tw-prose-invert-td-borders: oklch(37.3% 0.034 259.733);
    font-size: 1rem;
    line-height: 1.75;
    :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0;
      margin-bottom: 0;
    }
    :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0.5em;
      margin-bottom: 0.5em;
    }
    :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      padding-inline-start: 0.375em;
    }
    :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      padding-inline-start: 0.375em;
    }
    :where(.prose > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0.75em;
      margin-bottom: 0.75em;
    }
    :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 1.25em;
    }
    :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-bottom: 1.25em;
    }
    :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 1.25em;
    }
    :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-bottom: 1.25em;
    }
    :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0.75em;
      margin-bottom: 0.75em;
    }
    :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 1.25em;
      margin-bottom: 1.25em;
    }
    :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0.5em;
      padding-inline-start: 1.625em;
    }
    :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0;
    }
    :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0;
    }
    :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0;
    }
    :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0;
    }
    :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      padding-inline-start: 0;
    }
    :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      padding-inline-end: 0;
    }
    :where(tbody td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      padding-top: 0.5714286em;
      padding-inline-end: 0.5714286em;
      padding-bottom: 0.5714286em;
      padding-inline-start: 0.5714286em;
    }
    :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      padding-inline-start: 0;
    }
    :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      padding-inline-end: 0;
    }
    :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 2em;
      margin-bottom: 2em;
    }
    :where(.prose > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0;
    }
    :where(.prose > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-bottom: 0;
    }
  }
  .-mt-2 {
    margin-top: calc(var(--spacing) * -2);
  }
  .mt-1 {
    margin-top: var(--spacing);
  }
  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-2\.5 {
    margin-top: calc(var(--spacing) * 2.5);
  }
  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }
  .mt-3\.5 {
    margin-top: calc(var(--spacing) * 3.5);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-7 {
    margin-top: calc(var(--spacing) * 7);
  }
  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }
  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }
  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }
  .mt-14 {
    margin-top: calc(var(--spacing) * 14);
  }
  .mt-auto {
    margin-top: auto;
  }
  .-mr-1 {
    margin-right: calc(var(--spacing) * -1);
  }
  .mr-3 {
    margin-right: calc(var(--spacing) * 3);
  }
  .mb-1 {
    margin-bottom: var(--spacing);
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }
  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }
  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }
  .mb-12 {
    margin-bottom: calc(var(--spacing) * 12);
  }
  .mb-16 {
    margin-bottom: calc(var(--spacing) * 16);
  }
  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }
  .ml-4 {
    margin-left: calc(var(--spacing) * 4);
  }
  .ml-6 {
    margin-left: calc(var(--spacing) * 6);
  }
  .ml-auto {
    margin-left: auto;
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-block {
    display: inline-block;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .h-5 {
    height: calc(var(--spacing) * 5);
  }
  .h-6 {
    height: calc(var(--spacing) * 6);
  }
  .h-9 {
    height: calc(var(--spacing) * 9);
  }
  .h-11 {
    height: calc(var(--spacing) * 11);
  }
  .h-12 {
    height: calc(var(--spacing) * 12);
  }
  .h-16 {
    height: calc(var(--spacing) * 16);
  }
  .h-44 {
    height: calc(var(--spacing) * 44);
  }
  .min-h-\[65vh\] {
    min-height: 65vh;
  }
  .w-0\.5 {
    width: calc(var(--spacing) * 0.5);
  }
  .w-5 {
    width: calc(var(--spacing) * 5);
  }
  .w-6 {
    width: calc(var(--spacing) * 6);
  }
  .w-9 {
    width: calc(var(--spacing) * 9);
  }
  .w-11 {
    width: calc(var(--spacing) * 11);
  }
  .w-12 {
    width: calc(var(--spacing) * 12);
  }
  .w-44 {
    width: calc(var(--spacing) * 44);
  }
  .w-60 {
    width: calc(var(--spacing) * 60);
  }
  .max-w-2xl {
    max-width: var(--container-2xl);
  }
  .max-w-3xl {
    max-width: var(--container-3xl);
  }
  .max-w-4xl {
    max-width: var(--container-4xl);
  }
  .max-w-5xl {
    max-width: var(--container-5xl);
  }
  .max-w-6xl {
    max-width: var(--container-6xl);
  }
  .max-w-7xl {
    max-width: var(--container-7xl);
  }
  .max-w-\[46rem\] {
    max-width: 46rem;
  }
  .max-w-none {
    max-width: none;
  }
  .min-w-0 {
    min-width: 0px;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .grow {
    flex-grow: 1;
  }
  .origin-top {
    transform-origin: top;
  }
  .translate-x-3 {
    --tw-translate-x: calc(var(--spacing) * 3);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-y-3 {
    --tw-translate-y: calc(var(--spacing) * 3);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .scale-y-0 {
    --tw-scale-y: 0%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .resize {
    resize: both;
  }
  .scroll-mt-6 {
    scroll-margin-top: calc(var(--spacing) * 6);
  }
  .scroll-mt-8 {
    scroll-margin-top: calc(var(--spacing) * 8);
  }
  .list-disc {
    list-style-type: disc;
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-baseline {
    align-items: baseline;
  }
  .items-center {
    align-items: center;
  }
  .items-start {
    align-items: flex-start;
  }
  .items-stretch {
    align-items: stretch;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }
  .gap-px {
    gap: 1px;
  }
  :where(.space-y-1 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(var(--spacing) * var(--tw-space-y-reverse));
    margin-block-end: calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)));
  }
  :where(.space-y-2 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
  }
  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }
  :where(.space-y-5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
  }
  :where(.space-y-6 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
  }
  :where(.space-y-7 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)));
  }
  :where(.space-y-8 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
  }
  .gap-x-1\.5 {
    column-gap: calc(var(--spacing) * 1.5);
  }
  .gap-x-2 {
    column-gap: calc(var(--spacing) * 2);
  }
  .gap-x-3 {
    column-gap: calc(var(--spacing) * 3);
  }
  .gap-x-4 {
    column-gap: calc(var(--spacing) * 4);
  }
  .gap-x-5 {
    column-gap: calc(var(--spacing) * 5);
  }
  .gap-x-6 {
    column-gap: calc(var(--spacing) * 6);
  }
  .gap-x-10 {
    column-gap: calc(var(--spacing) * 10);
  }
  .gap-y-0\.5 {
    row-gap: calc(var(--spacing) * 0.5);
  }
  .gap-y-1 {
    row-gap: var(--spacing);
  }
  .gap-y-2 {
    row-gap: calc(var(--spacing) * 2);
  }
  .gap-y-3 {
    row-gap: calc(var(--spacing) * 3);
  }
  .gap-y-4 {
    row-gap: calc(var(--spacing) * 4);
  }
  :where(.divide-y > :not(:last-child)) {
    --tw-divide-y-reverse: 0;
    border-bottom-style: var(--tw-border-style);
    border-top-style: var(--tw-border-style);
    border-top-width: calc(1px * var(--tw-divide-y-reverse));
    border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  }
  :where(.divide-gray-100 > :not(:last-child)) {
    border-color: #f3f4f6;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-md {
    border-radius: var(--radius-md);
  }
  .rounded-sm {
    border-radius: var(--radius-sm);
  }
  .rounded-xs {
    border-radius: var(--radius-xs);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }
  .border-y {
    border-block-style: var(--tw-border-style);
    border-block-width: 1px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-t-2 {
    border-top-style: var(--tw-border-style);
    border-top-width: 2px;
  }
  .border-t-4 {
    border-top-style: var(--tw-border-style);
    border-top-width: 4px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-b-2 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 2px;
  }
  .border-l {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }
  .border-l-2 {
    border-left-style: var(--tw-border-style);
    border-left-width: 2px;
  }
  .border-l-4 {
    border-left-style: var(--tw-border-style);
    border-left-width: 4px;
  }
  .border-amber-500 {
    border-color: #f59e0b;
  }
  .border-brand-200 {
    border-color: #ddd6fe;
  }
  .border-brand-300 {
    border-color: #c4b5fd;
  }
  .border-brand-400 {
    border-color: #a78bfa;
  }
  .border-brand-500 {
    border-color: #8b5cf6;
  }
  .border-gray-200 {
    border-color: #e5e7eb;
  }
  .border-gray-300 {
    border-color: #d1d5db;
  }
  .border-transparent {
    border-color: transparent;
  }
  .border-t-brand-500 {
    border-top-color: #8b5cf6;
  }
  .bg-amber-50 {
    background-color: #fffbeb;
  }
  .bg-amber-500\/10 {
    background-color: color-mix(in oklab, #f59e0b 10%, transparent);
  }
  .bg-brand-50 {
    background-color: #f5f3ff;
  }
  .bg-brand-500 {
    background-color: #8b5cf6;
  }
  .bg-brand-500\/10 {
    background-color: color-mix(in oklab, #8b5cf6 10%, transparent);
  }
  .bg-brand-600 {
    background-color: #7c3aed;
  }
  .bg-gray-200 {
    background-color: #e5e7eb;
  }
  .bg-gray-500\/10 {
    background-color: color-mix(in oklab, #6b7280 10%, transparent);
  }
  .bg-orange-500\/10 {
    background-color: color-mix(in oklab, #f97316 10%, transparent);
  }
  .bg-red-500\/10 {
    background-color: color-mix(in oklab, #ef4444 10%, transparent);
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .object-contain {
    object-fit: contain;
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-5 {
    padding: calc(var(--spacing) * 5);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .p-8 {
    padding: calc(var(--spacing) * 8);
  }
  .p-10 {
    padding: calc(var(--spacing) * 10);
  }
  .px-1\.5 {
    padding-inline: calc(var(--spacing) * 1.5);
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }
  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .py-0\.5 {
    padding-block: calc(var(--spacing) * 0.5);
  }
  .py-1 {
    padding-block: var(--spacing);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }
  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }
  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }
  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }
  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }
  .pt-9 {
    padding-top: calc(var(--spacing) * 9);
  }
  .pb-1 {
    padding-bottom: var(--spacing);
  }
  .pb-5 {
    padding-bottom: calc(var(--spacing) * 5);
  }
  .pb-6 {
    padding-bottom: calc(var(--spacing) * 6);
  }
  .pb-8 {
    padding-bottom: calc(var(--spacing) * 8);
  }
  .pb-10 {
    padding-bottom: calc(var(--spacing) * 10);
  }
  .pb-12 {
    padding-bottom: calc(var(--spacing) * 12);
  }
  .pb-16 {
    padding-bottom: calc(var(--spacing) * 16);
  }
  .pl-4 {
    padding-left: calc(var(--spacing) * 4);
  }
  .pl-5 {
    padding-left: calc(var(--spacing) * 5);
  }
  .pl-6 {
    padding-left: calc(var(--spacing) * 6);
  }
  .text-center {
    text-align: center;
  }
  .panel-dark-label {
    font-family: Fira Code VF, Fira Code, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
    color: #c4b5fd;
    text-transform: uppercase;
  }
  .font-mono {
    font-family: Fira Code VF, Fira Code, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  }
  .font-serif {
    font-family: "Source Serif 4", Charter, Georgia, ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }
  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .text-\[0\.7rem\] {
    font-size: 0.7rem;
  }
  .text-\[0\.65rem\] {
    font-size: 0.65rem;
  }
  .text-\[11px\] {
    font-size: 11px;
  }
  .leading-6 {
    --tw-leading: calc(var(--spacing) * 6);
    line-height: calc(var(--spacing) * 6);
  }
  .leading-\[1\.05\] {
    --tw-leading: 1.05;
    line-height: 1.05;
  }
  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }
  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }
  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }
  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-extrabold {
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .tracking-\[0\.15em\] {
    --tw-tracking: 0.15em;
    letter-spacing: 0.15em;
  }
  .tracking-normal {
    --tw-tracking: var(--tracking-normal);
    letter-spacing: var(--tracking-normal);
  }
  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }
  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }
  .tracking-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }
  .break-all {
    word-break: break-all;
  }
  .text-amber-700 {
    color: #b45309;
  }
  .text-brand-300 {
    color: #c4b5fd;
  }
  .text-brand-400 {
    color: #a78bfa;
  }
  .text-brand-500 {
    color: #8b5cf6;
  }
  .text-brand-600 {
    color: #7c3aed;
  }
  .text-brand-700 {
    color: #6d28d9;
  }
  .text-gray-400 {
    color: #9ca3af;
  }
  .text-gray-500 {
    color: #6b7280;
  }
  .text-gray-600 {
    color: #4b5563;
  }
  .text-gray-700 {
    color: #374151;
  }
  .text-gray-900 {
    color: #111827;
  }
  .text-orange-700 {
    color: #c2410c;
  }
  .text-red-500 {
    color: #ef4444;
  }
  .text-red-700 {
    color: #b91c1c;
  }
  .text-white {
    color: var(--color-white);
  }
  .normal-case {
    text-transform: none;
  }
  .uppercase {
    text-transform: uppercase;
  }
  .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,);
  }
  .underline {
    text-decoration-line: underline;
  }
  .decoration-brand-400 {
    text-decoration-color: #a78bfa;
  }
  .underline-offset-4 {
    text-underline-offset: 4px;
  }
  .ring {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring-1 {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring-2 {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring-3 {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring-amber-500\/40 {
    --tw-ring-color: color-mix(in oklab, #f59e0b 40%, transparent);
  }
  .ring-brand-200 {
    --tw-ring-color: #ddd6fe;
  }
  .ring-brand-500\/40 {
    --tw-ring-color: color-mix(in oklab, #8b5cf6 40%, transparent);
  }
  .ring-gray-500\/40 {
    --tw-ring-color: color-mix(in oklab, #6b7280 40%, transparent);
  }
  .ring-orange-500\/40 {
    --tw-ring-color: color-mix(in oklab, #f97316 40%, transparent);
  }
  .ring-red-500\/40 {
    --tw-ring-color: color-mix(in oklab, #ef4444 40%, transparent);
  }
  .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,);
  }
  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .duration-150 {
    --tw-duration: 150ms;
    transition-duration: 150ms;
  }
  .duration-200 {
    --tw-duration: 200ms;
    transition-duration: 200ms;
  }
  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }
  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }
  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }
  .ring-inset {
    --tw-ring-inset: inset;
  }
  .group-open\:rotate-90:is(:where(.group):is([open], :popover-open, :open) *) {
    rotate: 90deg;
  }
  @media (hover: hover) {
    .group-hover\:translate-x-1:is(:where(.group):hover *) {
      --tw-translate-x: var(--spacing);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\:scale-y-100:is(:where(.group):hover *) {
      --tw-scale-y: 100%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
  .last\:border-b-0:last-child {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0px;
  }
  @media (hover: hover) {
    .hover\:border-brand-300:hover {
      border-color: #c4b5fd;
    }
    .hover\:border-brand-400:hover {
      border-color: #a78bfa;
    }
    .hover\:border-brand-500:hover {
      border-color: #8b5cf6;
    }
    .hover\:bg-brand-50:hover {
      background-color: #f5f3ff;
    }
    .hover\:bg-brand-500:hover {
      background-color: #8b5cf6;
    }
    .hover\:text-brand-500:hover {
      color: #8b5cf6;
    }
    .hover\:text-brand-600:hover {
      color: #7c3aed;
    }
    .hover\:text-brand-700:hover {
      color: #6d28d9;
    }
    .hover\:text-gray-500:hover {
      color: #6b7280;
    }
    .hover\:text-white:hover {
      color: var(--color-white);
    }
  }
  .focus\:border-brand-500:focus {
    border-color: #8b5cf6;
  }
  .focus\:ring-2:focus {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .focus\:ring-brand-500:focus {
    --tw-ring-color: #8b5cf6;
  }
  .focus\:ring-offset-2:focus {
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  }
  .focus\:outline-hidden:focus {
    --tw-outline-style: none;
    outline-style: none;
    @media (forced-colors: active) {
      outline: 2px solid transparent;
      outline-offset: 2px;
    }
  }
  @media (width >= 40rem) {
    .sm\:mt-0 {
      margin-top: 0px;
    }
    .sm\:mt-1 {
      margin-top: var(--spacing);
    }
    .sm\:mb-0 {
      margin-bottom: 0px;
    }
    .sm\:block {
      display: block;
    }
    .sm\:grid {
      display: grid;
    }
    .sm\:w-full {
      width: 100%;
    }
    .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\:grid-cols-\[1fr_1fr_auto\] {
      grid-template-columns: 1fr 1fr auto;
    }
    .sm\:grid-cols-\[9rem_1fr\] {
      grid-template-columns: 9rem 1fr;
    }
    .sm\:grid-cols-\[10rem_1fr\] {
      grid-template-columns: 10rem 1fr;
    }
    .sm\:grid-cols-\[13rem_1fr\] {
      grid-template-columns: 13rem 1fr;
    }
    .sm\:items-end {
      align-items: flex-end;
    }
    .sm\:gap-x-6 {
      column-gap: calc(var(--spacing) * 6);
    }
    .sm\:gap-x-8 {
      column-gap: calc(var(--spacing) * 8);
    }
    .sm\:gap-x-10 {
      column-gap: calc(var(--spacing) * 10);
    }
    .sm\:self-start {
      align-self: flex-start;
    }
    .sm\:px-6 {
      padding-inline: calc(var(--spacing) * 6);
    }
    .sm\:pt-1 {
      padding-top: var(--spacing);
    }
    .sm\:text-4xl {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }
    .sm\:text-5xl {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height));
    }
  }
  @media (width >= 48rem) {
    .md\:order-1 {
      order: 1;
    }
    .md\:order-2 {
      order: 2;
    }
    .md\:mt-0 {
      margin-top: 0px;
    }
    .md\:flex {
      display: flex;
    }
    .md\:inline {
      display: inline;
    }
    .md\:items-baseline {
      align-items: baseline;
    }
    .md\:items-center {
      align-items: center;
    }
    .md\:items-start {
      align-items: flex-start;
    }
    .md\:justify-between {
      justify-content: space-between;
    }
    .md\:gap-x-4 {
      column-gap: calc(var(--spacing) * 4);
    }
  }
  @media (width >= 64rem) {
    .lg\:sticky {
      position: sticky;
    }
    .lg\:top-8 {
      top: calc(var(--spacing) * 8);
    }
    .lg\:prose-lg {
      font-size: 1.125rem;
      line-height: 1.7777778;
    }
    .lg\:prose-lg :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 1.3333333em;
      margin-bottom: 1.3333333em;
    }
    .lg\:prose-lg :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-size: 1.2222222em;
      line-height: 1.4545455;
      margin-top: 1.0909091em;
      margin-bottom: 1.0909091em;
    }
    .lg\:prose-lg :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 1.6666667em;
      margin-bottom: 1.6666667em;
      padding-inline-start: 1em;
    }
    .lg\:prose-lg :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-size: 2.6666667em;
      margin-top: 0;
      margin-bottom: 0.8333333em;
      line-height: 1;
    }
    .lg\:prose-lg :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-size: 1.6666667em;
      margin-top: 1.8666667em;
      margin-bottom: 1.0666667em;
      line-height: 1.3333333;
    }
    .lg\:prose-lg :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-size: 1.3333333em;
      margin-top: 1.6666667em;
      margin-bottom: 0.6666667em;
      line-height: 1.5;
    }
    .lg\:prose-lg :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 1.7777778em;
      margin-bottom: 0.4444444em;
      line-height: 1.5555556;
    }
    .lg\:prose-lg :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 1.7777778em;
      margin-bottom: 1.7777778em;
    }
    .lg\:prose-lg :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 1.7777778em;
      margin-bottom: 1.7777778em;
    }
    .lg\:prose-lg :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0;
      margin-bottom: 0;
    }
    .lg\:prose-lg :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 1.7777778em;
      margin-bottom: 1.7777778em;
    }
    .lg\:prose-lg :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-size: 0.8888889em;
      border-radius: 0.3125rem;
      padding-top: 0.2222222em;
      padding-inline-end: 0.4444444em;
      padding-bottom: 0.2222222em;
      padding-inline-start: 0.4444444em;
    }
    .lg\:prose-lg :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-size: 0.8888889em;
    }
    .lg\:prose-lg :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-size: 0.8666667em;
    }
    .lg\:prose-lg :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-size: 0.875em;
    }
    .lg\:prose-lg :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-size: 0.8888889em;
      line-height: 1.75;
      margin-top: 2em;
      margin-bottom: 2em;
      border-radius: 0.375rem;
      padding-top: 1em;
      padding-inline-end: 1.5em;
      padding-bottom: 1em;
      padding-inline-start: 1.5em;
    }
    .lg\:prose-lg :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 1.3333333em;
      margin-bottom: 1.3333333em;
      padding-inline-start: 1.5555556em;
    }
    .lg\:prose-lg :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 1.3333333em;
      margin-bottom: 1.3333333em;
      padding-inline-start: 1.5555556em;
    }
    .lg\:prose-lg :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0.6666667em;
      margin-bottom: 0.6666667em;
    }
    .lg\:prose-lg :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      padding-inline-start: 0.4444444em;
    }
    .lg\:prose-lg :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      padding-inline-start: 0.4444444em;
    }
    .lg\:prose-lg :where(.lg\:prose-lg > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0.8888889em;
      margin-bottom: 0.8888889em;
    }
    .lg\:prose-lg :where(.lg\:prose-lg > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 1.3333333em;
    }
    .lg\:prose-lg :where(.lg\:prose-lg > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-bottom: 1.3333333em;
    }
    .lg\:prose-lg :where(.lg\:prose-lg > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 1.3333333em;
    }
    .lg\:prose-lg :where(.lg\:prose-lg > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-bottom: 1.3333333em;
    }
    .lg\:prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0.8888889em;
      margin-bottom: 0.8888889em;
    }
    .lg\:prose-lg :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 1.3333333em;
      margin-bottom: 1.3333333em;
    }
    .lg\:prose-lg :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 1.3333333em;
    }
    .lg\:prose-lg :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0.6666667em;
      padding-inline-start: 1.5555556em;
    }
    .lg\:prose-lg :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 3.1111111em;
      margin-bottom: 3.1111111em;
    }
    .lg\:prose-lg :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0;
    }
    .lg\:prose-lg :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0;
    }
    .lg\:prose-lg :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0;
    }
    .lg\:prose-lg :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0;
    }
    .lg\:prose-lg :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-size: 0.8888889em;
      line-height: 1.5;
    }
    .lg\:prose-lg :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      padding-inline-end: 0.75em;
      padding-bottom: 0.75em;
      padding-inline-start: 0.75em;
    }
    .lg\:prose-lg :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      padding-inline-start: 0;
    }
    .lg\:prose-lg :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      padding-inline-end: 0;
    }
    .lg\:prose-lg :where(tbody td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      padding-top: 0.75em;
      padding-inline-end: 0.75em;
      padding-bottom: 0.75em;
      padding-inline-start: 0.75em;
    }
    .lg\:prose-lg :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      padding-inline-start: 0;
    }
    .lg\:prose-lg :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      padding-inline-end: 0;
    }
    .lg\:prose-lg :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 1.7777778em;
      margin-bottom: 1.7777778em;
    }
    .lg\:prose-lg :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0;
      margin-bottom: 0;
    }
    .lg\:prose-lg :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      font-size: 0.8888889em;
      line-height: 1.5;
      margin-top: 1em;
    }
    .lg\:prose-lg :where(.lg\:prose-lg > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-top: 0;
    }
    .lg\:prose-lg :where(.lg\:prose-lg > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      margin-bottom: 0;
    }
    .lg\:mb-0 {
      margin-bottom: 0px;
    }
    .lg\:block {
      display: block;
    }
    .lg\:flex {
      display: flex;
    }
    .lg\:grid {
      display: grid;
    }
    .lg\:hidden {
      display: none;
    }
    .lg\:w-full {
      width: 100%;
    }
    .lg\:grid-cols-\[19rem_minmax\(0\,1fr\)\] {
      grid-template-columns: 19rem minmax(0,1fr);
    }
    .lg\:grid-cols-\[minmax\(0\,1fr\)_18rem\] {
      grid-template-columns: minmax(0,1fr) 18rem;
    }
    .lg\:gap-x-12 {
      column-gap: calc(var(--spacing) * 12);
    }
    .lg\:gap-x-16 {
      column-gap: calc(var(--spacing) * 16);
    }
    .lg\:px-8 {
      padding-inline: calc(var(--spacing) * 8);
    }
  }
  @media (width >= 80rem) {
    .xl\:sticky {
      position: sticky;
    }
    .xl\:top-8 {
      top: calc(var(--spacing) * 8);
    }
    .xl\:block {
      display: block;
    }
    .xl\:grid {
      display: grid;
    }
    .xl\:hidden {
      display: none;
    }
    .xl\:grid-cols-\[minmax\(0\,1fr\)_16rem\] {
      grid-template-columns: minmax(0,1fr) 16rem;
    }
    .xl\:gap-x-7 {
      column-gap: calc(var(--spacing) * 7);
    }
    .xl\:gap-x-8 {
      column-gap: calc(var(--spacing) * 8);
    }
    .xl\:gap-x-16 {
      column-gap: calc(var(--spacing) * 16);
    }
  }
  .dark\:block:is(.dark *) {
    display: block;
  }
  .dark\:hidden:is(.dark *) {
    display: none;
  }
  :where(.dark\:divide-gray-800:is(.dark *) > :not(:last-child)) {
    border-color: #1f2937;
  }
  .dark\:border-brand-600:is(.dark *) {
    border-color: #7c3aed;
  }
  .dark\:border-brand-700:is(.dark *) {
    border-color: #6d28d9;
  }
  .dark\:border-brand-800:is(.dark *) {
    border-color: #5b21b6;
  }
  .dark\:border-gray-800:is(.dark *) {
    border-color: #1f2937;
  }
  .dark\:bg-amber-950\/40:is(.dark *) {
    background-color: color-mix(in oklab, #451a03 40%, transparent);
  }
  .dark\:bg-brand-900\/30:is(.dark *) {
    background-color: color-mix(in oklab, #4c1d95 30%, transparent);
  }
  .dark\:bg-brand-950:is(.dark *) {
    background-color: #2e1065;
  }
  .dark\:bg-gray-800:is(.dark *) {
    background-color: #1f2937;
  }
  .dark\:bg-gray-900:is(.dark *) {
    background-color: #111827;
  }
  .dark\:prose-dark:is(.dark *) {
    :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: #9ca3af;
    }
    color: #d1d5db;
    :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: #d1d5db;
    }
    :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: #d1d5db;
    }
    :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: #d1d5db;
    }
    :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: #d1d5db;
    }
    :where(h5):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: #d1d5db;
    }
    :where(h6):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: #d1d5db;
    }
    :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: #6b7280;
    }
    :where(thead):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: #d1d5db;
    }
  }
  .dark\:text-amber-300:is(.dark *) {
    color: #fcd34d;
  }
  .dark\:text-amber-400:is(.dark *) {
    color: #fbbf24;
  }
  .dark\:text-brand-300:is(.dark *) {
    color: #c4b5fd;
  }
  .dark\:text-brand-400:is(.dark *) {
    color: #a78bfa;
  }
  .dark\:text-brand-800:is(.dark *) {
    color: #5b21b6;
  }
  .dark\:text-gray-100:is(.dark *) {
    color: #f3f4f6;
  }
  .dark\:text-gray-300:is(.dark *) {
    color: #d1d5db;
  }
  .dark\:text-gray-400:is(.dark *) {
    color: #9ca3af;
  }
  .dark\:text-gray-500:is(.dark *) {
    color: #6b7280;
  }
  .dark\:text-gray-600:is(.dark *) {
    color: #4b5563;
  }
  .dark\:text-orange-300:is(.dark *) {
    color: #fdba74;
  }
  .dark\:text-red-300:is(.dark *) {
    color: #fca5a5;
  }
  .dark\:ring-brand-700:is(.dark *) {
    --tw-ring-color: #6d28d9;
  }
  @media (hover: hover) {
    .dark\:hover\:border-brand-600:is(.dark *):hover {
      border-color: #7c3aed;
    }
    .dark\:hover\:bg-gray-900:is(.dark *):hover {
      background-color: #111827;
    }
    .dark\:hover\:text-brand-200:is(.dark *):hover {
      color: #ddd6fe;
    }
    .dark\:hover\:text-brand-300:is(.dark *):hover {
      color: #c4b5fd;
    }
  }
  .dark\:focus\:ring-offset-gray-900:is(.dark *):focus {
    --tw-ring-offset-color: #111827;
  }
  @media print {
    .print\:hidden {
      display: none;
    }
    .print\:inline {
      display: inline;
    }
    .print\:prose-print {
      color: #000;
    }
    .print\:prose-print :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: #000;
    }
    .print\:prose-print :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: #000;
    }
    .print\:prose-print :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: #000;
    }
    .print\:prose-print :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: #000;
    }
    .print\:prose-print :where(h5):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: #000;
    }
    .print\:prose-print :where(h6):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      color: #000;
    }
  }
}
@layer components {
  [x-cloak] {
    display: none;
  }
  .link {
    border-color: #6b7280;
    color: #6d28d9;
    text-decoration-line: none;
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: 150ms;
    transition-duration: 150ms;
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
    &:hover {
      @media (hover: hover) {
        border-color: #9ca3af;
      }
    }
    &:hover {
      @media (hover: hover) {
        color: #8b5cf6;
      }
    }
    border-bottom-width: 1px;
  }
  .article-column {
    max-width: 43rem;
  }
  .article-prose {
    font-family: "Source Serif 4", Charter, Georgia, ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  }
  .article-prose h1, .article-prose h2, .article-prose h3, .article-prose h4, .article-prose h5, .article-prose h6 {
    font-family: Inter var, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }
  .article-prose h2, .article-prose h3 {
    scroll-margin-top: 5rem;
  }
  .article-prose a[href^="http"]:not([href*="allanmacgregor.com"])::after {
    content: "\2197\FE0E";
    font-size: 0.65em;
    margin-left: 0.15em;
    vertical-align: text-top;
    font-family: Fira Code VF, Fira Code, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    color: #a78bfa;
  }
  .article-prose pre a[href^="http"]::after, .article-prose a[href^="http"]:has(img)::after {
    content: none;
  }
  .form-label {
    margin-bottom: calc(var(--spacing) * 1.5);
    display: block;
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
    color: #4b5563;
    text-transform: uppercase;
    &:is(.dark *) {
      color: #d1d5db;
    }
  }
  .form-input {
    display: block;
    width: 100%;
    border-radius: var(--radius-xs);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: #d1d5db;
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 3);
    padding-block: calc(var(--spacing) * 2);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    color: #111827;
    &:is(.dark *) {
      border-color: #374151;
    }
    &:is(.dark *) {
      background-color: #111827;
    }
    &:is(.dark *) {
      color: #f3f4f6;
    }
  }
  .form-input:focus {
    border-color: #8b5cf6;
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    --tw-ring-color: #8b5cf6;
    --tw-outline-style: none;
    outline-style: none;
    @media (forced-colors: active) {
      outline: 2px solid transparent;
      outline-offset: 2px;
    }
  }
  details.disclosure > summary {
    list-style: none;
  }
  details.disclosure > summary::-webkit-details-marker {
    display: none;
  }
  .article-prose .article-quote {
    position: relative;
    overflow: hidden;
    border-radius: 0.375rem;
    background-color: #16121f;
    background-image: radial-gradient(90% 130% at 90% 8%, rgba(139, 92, 246, 0.3), transparent 55%);
    color: #f3f4f6;
    padding: 2rem 2.5rem;
    margin: 2.25rem 0;
  }
  .article-prose .article-quote > .article-quote-label {
    font-family: Fira Code VF, Fira Code, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
    color: #c4b5fd;
    text-transform: uppercase;
    margin: 0 0 0.875rem;
  }
  .article-prose .article-quote > .article-quote-body {
    margin: 0;
    padding: 0;
    border: 0;
    font-style: normal;
    font-weight: 400;
    quotes: none;
    font-family: "Source Serif 4", Charter, Georgia, ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
    color: #f3f4f6;
  }
  .article-prose .article-quote > .article-quote-body p {
    margin: 0 0 0.75rem;
  }
  .article-prose .article-quote > .article-quote-body p:last-child {
    margin-bottom: 0;
  }
  .article-prose .article-quote > .article-quote-body p::before, .article-prose .article-quote > .article-quote-body p::after {
    content: none;
  }
  .article-prose .article-quote > .article-quote-body strong {
    --tw-font-weight: var(--font-weight-medium) !important;
    font-weight: var(--font-weight-medium) !important;
    color: #c4b5fd !important;
  }
  .article-prose .article-quote > .article-quote-body a {
    color: #ddd6fe !important;
    border-bottom-color: rgba(196, 181, 253, 0.5);
  }
  .article-prose .article-quote > .article-quote-cite {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0 0.625rem;
    margin: 1.125rem 0 0;
    font-family: Inter var, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    color: #9ca3af;
  }
  .article-prose .article-quote > .article-quote-cite::before {
    content: "—";
    color: #a78bfa;
  }
  .article-prose .article-quote > .article-quote-cite a {
    color: #e5e7eb !important;
    border-bottom: 1px solid rgba(167, 139, 250, 0.6);
  }
  .article-prose .article-quote > .article-quote-cite a:hover {
    color: var(--color-white) !important;
  }
  .article-prose .article-quote a[href^="http"]::after {
    content: none;
  }
  .article-prose .article-quote > .article-quote-cite .article-quote-role {
    color: #9ca3af;
  }
  @media (max-width: 640px) {
    .article-prose .article-quote {
      padding: 1.5rem 1.5rem;
    }
    .article-prose .article-quote > .article-quote-body {
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
    }
  }
  .footnote-ref {
    color: #6d28d9;
    text-decoration-line: none;
    font-size: 0.75em;
    vertical-align: super;
    cursor: pointer;
  }
  .sidenotes {
    position: relative;
    counter-reset: sidenote;
  }
  .sidenote {
    display: none;
    counter-increment: sidenote;
  }
  .sidenote::before {
    content: counter(sidenote);
    font-family: Inter var, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: #7c3aed;
    font-size: 0.7rem;
    margin-right: 0.375rem;
    vertical-align: super;
  }
  .sidenote .footnote-backref {
    display: none;
  }
  .sidenote.is-active {
    display: block;
    padding: 0.5rem 0.75rem;
    margin: 0.5rem 0;
    border-left: 3px solid #d1d5db;
    font-size: 0.875rem;
    line-height: 1.5;
    color: #4b5563;
  }
  .sidenote.is-active p {
    margin: 0;
  }
  @media (min-width: 1280px) {
    .sidenotes.has-sidenotes {
      overflow: visible;
    }
    .sidenotes .article-toc {
      position: absolute;
      top: 0;
      right: -15rem;
      width: 13.5rem;
      margin-bottom: 0;
      font-size: 0.8rem;
    }
    .sidenote {
      display: block;
      position: absolute;
      right: -15rem;
      width: 13.5rem;
      font-size: 0.8rem;
      line-height: 1.45;
      color: #4b5563;
    }
    .sidenote.is-highlighted {
      background-color: #fef9c3;
      border-radius: 0.25rem;
      padding: 0.25rem 0.375rem;
      transition: background-color 0.6s ease-out;
    }
    .sidenote p {
      margin-top: 0.25rem;
    }
  }
  @media print {
    .sidenote {
      display: none;
    }
  }
  @keyframes logo-blink {
    50%, 100% {
      opacity: 0;
    }
  }
  .logo-cursor-blink {
    animation: logo-blink 1.1s step-end infinite;
  }
  ::selection {
    background-color: rgba(139, 92, 246, 0.22);
  }
  .dark ::selection {
    background-color: rgba(139, 92, 246, 0.38);
  }
  .dark {
    scrollbar-color: #3f3954 #111827;
  }
  .article-break {
    display: flex;
    justify-content: center;
    margin: 3em 0;
  }
  .article-break-mark {
    width: 100%;
    max-width: 22rem;
    aspect-ratio: 640 / 80;
  }
  html:not(.dark) .article-break-mark {
    filter: brightness(0.72) saturate(1.3);
  }
  .article-endmark {
    display: flex;
    align-items: baseline;
    gap: 0.75ch;
    margin-top: 2.5rem;
    line-height: 1;
  }
  .article-endmark-mark {
    flex: none;
    color: #8b5cf6;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    transition: transform 150ms ease-out, color 150ms ease-out;
  }
  .article-endmark-mark:hover {
    color: #7c3aed;
    transform: rotate(45deg);
  }
  .dark .article-endmark-mark:hover {
    color: #c4b5fd;
  }
  .article-endmark-mark.is-found {
    cursor: default;
  }
  .article-endmark-msg {
    font-family: "Fira Code VF", "Fira Code", monospace;
    font-size: 0.8125rem;
    color: #807e93;
  }
  .article-endmark-cursor {
    color: #8b5cf6;
  }
  .byline-date {
    cursor: pointer;
    transition: color 150ms ease-out;
  }
  .byline-date:hover {
    color: #7c3aed;
  }
  .dark .byline-date:hover {
    color: #c4b5fd;
  }
  .byline-whisper {
    margin-left: 0.25ch;
    font-family: "Fira Code VF", "Fira Code", monospace;
    font-size: 0.75rem;
    text-transform: none;
    letter-spacing: 0;
    color: #807e93;
  }
  .byline-whisper-cursor {
    color: #8b5cf6;
  }
  .heading-anchor {
    margin-left: 0.4em;
    font-family: "Fira Code VF", "Fira Code", monospace;
    font-weight: 400;
    font-size: 0.85em;
    color: #a78bfa;
    text-decoration: none;
    opacity: 0;
    transition: opacity 150ms ease-out;
  }
  .prose h2:hover .heading-anchor, .prose h3:hover .heading-anchor, .heading-anchor:focus-visible {
    opacity: 1;
  }
  .heading-anchor:hover {
    color: #7c3aed;
  }
  .dark .heading-anchor:hover {
    color: #c4b5fd;
  }
  @media (hover: none) {
    .heading-anchor {
      opacity: 0.45;
    }
  }
  #iex-console {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 70;
    height: min(42vh, 22rem);
    display: flex;
    flex-direction: column;
    background-color: #16141f;
    border-top: 2px solid #8b5cf6;
    box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.35);
    font-family: "Fira Code VF", "Fira Code", monospace;
    font-size: 0.8125rem;
    line-height: 1.6;
    color: #e2e2ea;
    transform: translateY(100%);
    transition: transform 220ms cubic-bezier(0.32, 0.72, 0, 1);
  }
  #iex-console.iex-open {
    transform: translateY(0);
  }
  @media (prefers-reduced-motion: reduce) {
    #iex-console {
      transition: none;
    }
  }
  .iex-bar {
    flex: none;
    padding: 0.4rem 1rem;
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #a78bfa;
    border-bottom: 1px solid #2b2738;
    display: flex;
    justify-content: space-between;
  }
  .iex-bar kbd {
    color: #807e93;
    letter-spacing: 0.1em;
  }
  .iex-out {
    flex: 1;
    overflow-y: auto;
    padding: 0.75rem 1rem 0.25rem;
    white-space: pre-wrap;
    word-break: break-word;
  }
  .iex-out .iex-echo {
    color: #807e93;
  }
  .iex-out .iex-result {
    color: #9dd6b0;
  }
  .iex-out .iex-error {
    color: #f08fa8;
  }
  .iex-out .iex-info {
    color: #b1aec2;
  }
  .iex-out a {
    color: #c4b5fd;
    text-decoration: underline;
  }
  .iex-line {
    flex: none;
    display: flex;
    align-items: baseline;
    gap: 0.5ch;
    padding: 0.25rem 1rem 0.85rem;
  }
  .iex-prompt {
    color: #c4b5fd;
    white-space: nowrap;
  }
  .iex-input {
    flex: 1;
    background: transparent;
    border: none;
    outline: none;
    color: #e2e2ea;
    font: inherit;
    caret-color: #8b5cf6;
  }
  .iex-hint {
    font-family: "Fira Code VF", "Fira Code", monospace;
    font-size: 0.75rem;
    color: #9ca3af;
    transition: color 150ms ease-out;
  }
  .iex-hint:hover {
    color: #8b5cf6;
  }
  #violet-rain {
    position: fixed;
    inset: 0;
    z-index: 60;
    pointer-events: none;
    transition: opacity 600ms ease-out;
  }
  .viz {
    --viz-bg: #fbfaff;
    --viz-edge: rgba(124, 58, 237, 0.14);
    --viz-wire: #d8d4e8;
    --viz-node: #ffffff;
    --viz-node-line: #b7b2cc;
    --viz-slot: #ece9f6;
    --viz-slot-line: #cfc9e4;
    --viz-fill: #8b5cf6;
    --viz-fill-soft: rgba(139, 92, 246, 0.18);
    --viz-token: #7c3aed;
    --viz-text: #2f2b3a;
    --viz-muted: #5f5a70;
    --viz-faint: #6f6a83;
    --viz-good: var(--code-type);
    --viz-warn: var(--code-atom);
    --viz-bad: var(--code-error);
    --viz-token-alt: var(--code-atom);
    --viz-wire-blocked: var(--code-atom);
    display: block;
    margin: 0;
  }
  .dark .viz {
    --viz-bg: #16121f;
    --viz-edge: rgba(139, 92, 246, 0.26);
    --viz-wire: #3b3450;
    --viz-node: #221c30;
    --viz-node-line: #4c4366;
    --viz-slot: #1e1a2b;
    --viz-slot-line: #3d3552;
    --viz-fill: #a78bfa;
    --viz-fill-soft: rgba(167, 139, 250, 0.22);
    --viz-token: #c4b5fd;
    --viz-text: #e5e2ee;
    --viz-muted: #a9a3bd;
    --viz-faint: #8f88a8;
  }
  .viz-title {
    margin: 0 0 0.5rem;
    font-family: var(--font-sans);
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--viz-text);
  }
  .viz-canvas {
    position: relative;
    border-radius: 0.375rem;
    background-color: var(--viz-bg);
    background-image: radial-gradient(120% 140% at 88% 4%, var(--viz-fill-soft), transparent 58%);
    border: 1px solid var(--viz-edge);
    overflow: hidden;
  }
  .viz-stage {
    display: block;
    width: 100%;
    height: auto;
  }
  .viz-wire {
    fill: none;
    stroke: var(--viz-wire);
    stroke-width: 1.5;
    stroke-linecap: round;
    transition: stroke 200ms ease-out;
  }
  .viz-wire[data-blocked="true"] {
    stroke: var(--viz-wire-blocked);
    stroke-width: 2;
    stroke-dasharray: 5 4;
  }
  .viz-node {
    fill: var(--viz-node);
    stroke: var(--viz-node-line);
    stroke-width: 1.25;
  }
  .viz-node-source {
    fill: var(--viz-fill-soft);
    stroke: var(--viz-fill);
  }
  .viz-node-mirror, .viz-node-router {
    fill: var(--viz-fill);
    stroke: none;
  }
  .viz-node[data-stalled="true"] {
    fill: none;
    stroke-dasharray: 4 3;
    stroke: var(--viz-faint);
  }
  .viz-slot {
    fill: var(--viz-slot);
    stroke: var(--viz-slot-line);
    stroke-width: 1;
    transition: fill 120ms linear;
  }
  .viz-slot[data-filled="true"] {
    fill: var(--viz-fill-soft);
    stroke: var(--viz-fill);
  }
  .viz-slot[data-last="true"] {
    stroke: var(--viz-wire-blocked);
    stroke-dasharray: 3 2;
  }
  .viz-server {
    fill: var(--viz-node);
    stroke: var(--viz-node-line);
    stroke-width: 1.25;
  }
  .viz-server[data-busy="true"] {
    fill: var(--viz-fill-soft);
    stroke: var(--viz-fill);
  }
  .viz-server-progress {
    fill: var(--viz-fill);
    stroke: none;
  }
  .viz-token {
    fill: var(--viz-token);
    stroke: none;
  }
  .viz-token[data-tag="heavy"], .viz-token[data-tag="burst"] {
    fill: var(--viz-token-alt);
  }
  .viz-token[data-serving="true"] {
    fill: var(--viz-fill);
  }
  .viz-token[data-age="1"] {
    fill: var(--viz-warn);
  }
  .viz-token[data-age="2"] {
    fill: var(--viz-bad);
  }
  .viz-token[data-state="dropped"] {
    fill: var(--viz-bad);
  }
  .viz-token[data-state="completed"] {
    fill: var(--viz-good);
  }
  .viz-node-label, .viz-pipe-title, .viz-pipe-label, .viz-t-label {
    font-family: var(--font-sans);
    fill: var(--viz-text);
  }
  .viz-pipe-title {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: -0.01em;
  }
  .viz-node-label, .viz-pipe-label, .viz-t-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.005em;
  }
  .viz-pipe-note, .viz-pipe-halt {
    font-family: var(--font-sans);
    font-size: 10.5px;
    fill: var(--viz-muted);
  }
  .viz-pipe-halt {
    fill: var(--viz-warn);
    font-weight: 600;
  }
  .viz-pipe-counter {
    font-family: var(--font-mono);
    font-size: 19px;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    letter-spacing: -0.02em;
    fill: var(--viz-text);
  }
  .viz-pipe-counter-label {
    font-family: var(--font-sans);
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    fill: var(--viz-muted);
  }
  .viz-node-sub, .viz-pipe-code, .viz-axis-label, .viz-cell-value, .viz-row-label, .viz-t-code {
    font-family: var(--font-mono);
    font-size: 10px;
    font-variant-numeric: tabular-nums;
    fill: var(--viz-muted);
  }
  .viz-axis-label {
    font-size: 9.5px;
    fill: var(--viz-faint);
  }
  .viz-cell-value, .viz-row-label {
    fill: var(--viz-text);
  }
  .viz-track-tag {
    font-family: var(--font-sans);
    font-size: 9.5px;
    font-weight: 500;
    fill: var(--viz-muted);
  }
  .viz-node-sub[data-alarm="true"] {
    fill: var(--viz-bad);
    font-weight: 600;
  }
  .viz-domain {
    font-family: var(--font-mono);
    font-size: 9.5px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    fill: var(--viz-faint);
  }
  .viz-table {
    fill: var(--viz-node);
    stroke: var(--viz-node-line);
    stroke-width: 1.25;
  }
  .viz-table-head {
    fill: var(--viz-fill-soft);
    stroke: none;
  }
  .viz-table-row {
    fill: none;
    stroke: var(--viz-slot-line);
    stroke-width: 0.9;
  }
  .viz-table-row[data-filled="true"] {
    fill: var(--viz-fill-soft);
    stroke: var(--viz-fill);
  }
  .viz-table-row[data-state="claimed"] {
    fill: var(--viz-fill);
    stroke: var(--viz-fill);
  }
  .viz-table-row[data-state="scheduled"] {
    fill: none;
    stroke: var(--viz-warn);
    stroke-dasharray: 2 2;
  }
  .viz-memory {
    fill: none;
    stroke: var(--viz-faint);
    stroke-width: 1.25;
    stroke-dasharray: 4 3;
  }
  .viz-memory-row {
    fill: none;
    stroke: var(--viz-slot-line);
    stroke-width: 0.9;
  }
  .viz-memory-row[data-filled="true"] {
    fill: var(--viz-fill-soft);
    stroke: var(--viz-fill);
  }
  .viz-lock-body {
    fill: var(--viz-slot);
    stroke: var(--viz-node-line);
    stroke-width: 1.25;
  }
  .viz-lock-body[data-held="true"] {
    fill: var(--viz-warn);
    stroke: var(--viz-warn);
  }
  .viz-lock-shackle {
    fill: none;
    stroke: var(--viz-node-line);
    stroke-width: 2;
    stroke-linecap: round;
  }
  .viz-lock-shackle[data-held="true"] {
    stroke: var(--viz-warn);
  }
  .viz-index-node {
    fill: var(--viz-slot);
    stroke: var(--viz-slot-line);
    stroke-width: 0.9;
  }
  .viz-index-node[data-path="true"] {
    fill: var(--viz-fill-soft);
    stroke: var(--viz-fill);
  }
  .viz-page {
    fill: var(--viz-slot);
    stroke: var(--viz-slot-line);
    stroke-width: 0.9;
  }
  .viz-tray {
    fill: none;
    stroke: var(--viz-node-line);
    stroke-width: 1.25;
  }
  .viz-tray-chip {
    fill: none;
    stroke: var(--viz-slot-line);
    stroke-width: 0.9;
  }
  .viz-tray-chip[data-filled="true"] {
    fill: var(--viz-fill-soft);
    stroke: var(--viz-fill);
  }
  .viz-tray-timer {
    fill: var(--viz-warn);
    stroke: none;
  }
  .viz-token-shape {
    fill: var(--viz-token);
    stroke: none;
  }
  .viz-token-shape[data-tag="heavy"], .viz-token-shape[data-tag="retry"], .viz-token-shape[data-tag="stalled"], .viz-token-shape[data-tag="write"], .viz-token-shape[data-tag="poison"] {
    fill: var(--viz-token-alt);
  }
  .viz-token-shape[data-serving="true"] {
    fill: var(--viz-fill);
  }
  .viz-token-shape[data-state="dropped"] {
    fill: var(--viz-bad);
  }
  .viz-token-shape[data-state="completed"] {
    fill: var(--viz-good);
  }
  .viz-token[data-locked="true"], .viz-token-shape[data-locked="true"] {
    stroke: var(--viz-warn);
    stroke-width: 1.5;
  }
  .viz-callout {
    font-family: var(--font-sans);
    font-size: 9.5px;
    font-weight: 600;
    fill: var(--viz-muted);
  }
  .viz-callout[data-kind="locked"] {
    fill: var(--viz-warn);
  }
  .viz-callout[data-kind="conflict"] {
    fill: var(--viz-bad);
  }
  .viz-callout[data-kind="lost"] {
    fill: var(--viz-bad);
  }
  .viz-callout[data-kind="rescued"] {
    fill: var(--viz-good);
  }
  .viz-lane {
    fill: var(--viz-slot);
    stroke: none;
    opacity: 0.55;
  }
  .viz-poll-tick {
    stroke: var(--viz-warn);
    stroke-width: 1;
    stroke-dasharray: 3 3;
    opacity: 0.75;
  }
  .viz-wait-bar {
    fill: var(--viz-fill);
    stroke: none;
  }
  .viz-wait-bar[data-state="waiting"] {
    fill: none;
    stroke: var(--viz-warn);
    stroke-width: 1.25;
  }
  .viz-log-rule {
    stroke: var(--viz-edge);
    stroke-width: 1;
    stroke-dasharray: 2 4;
  }
  .viz-log-band {
    fill: var(--viz-warn);
    stroke: none;
    opacity: 0.07;
  }
  .viz-attempt-thread {
    stroke: var(--viz-slot-line);
    stroke-width: 1.25;
  }
  .viz-attempt {
    fill: var(--viz-fill);
    stroke: none;
    transition: opacity 140ms linear;
  }
  .viz-attempt[data-state="ok"] {
    fill: var(--viz-good);
  }
  .viz-attempt[data-state="discarded"] {
    fill: var(--viz-bad);
  }
  .viz-channel {
    fill: var(--viz-slot);
    stroke: none;
    opacity: 0.6;
  }
  .viz-occupancy {
    fill: var(--viz-fill);
    stroke: none;
  }
  .viz-occupancy[data-tag="stalled"] {
    fill: var(--viz-token-alt);
  }
  .viz-reach {
    fill: none;
    stroke: var(--viz-fill);
    stroke-width: 1.5;
    stroke-linecap: round;
  }
  .viz-reach[data-state="blocked"] {
    stroke: var(--viz-bad);
    stroke-dasharray: 3 3;
  }
  .viz-reach[data-state="lost"] {
    stroke: var(--viz-bad);
    stroke-dasharray: 2 4;
    opacity: 0.6;
  }
  .viz-worker {
    fill: var(--viz-node);
    stroke: var(--viz-node-line);
    stroke-width: 1.25;
  }
  .viz-worker[data-state="working"] {
    fill: var(--viz-fill-soft);
    stroke: var(--viz-fill);
  }
  .viz-worker[data-state="blocked"] {
    fill: none;
    stroke: var(--viz-bad);
    stroke-dasharray: 3 2;
  }
  .viz-heap-page {
    fill: var(--viz-slot);
    stroke: var(--viz-slot-line);
    stroke-width: 0.7;
  }
  .viz-heap-page[data-state="hit"] {
    fill: var(--viz-fill);
    stroke: var(--viz-fill);
  }
  .viz-heap-page[data-state="swept"] {
    fill: var(--viz-fill-soft);
    stroke: var(--viz-fill);
  }
  .viz-descent {
    fill: none;
    stroke: var(--viz-fill);
    stroke-width: 1.25;
  }
  .viz-gradient-tangent {
    fill: none;
    stroke: var(--viz-faint);
    stroke-width: 1.25;
    stroke-dasharray: 3 3;
  }
  .viz-gradient-guide {
    fill: none;
    stroke: var(--viz-edge);
    stroke-width: 1;
    stroke-dasharray: 2 3;
  }
  .viz-gradient-update {
    fill: none;
    stroke: var(--viz-fill);
    stroke-width: 1.5;
    stroke-linecap: round;
  }
  .viz-gradient-equation {
    font-family: var(--font-mono);
    font-size: 11px;
    fill: var(--viz-text);
  }
  .viz-fetch-arc {
    fill: none;
    stroke: var(--viz-warn);
    stroke-width: 1;
    opacity: 0.8;
  }
  .viz-timeout-ring {
    fill: none;
    stroke: var(--viz-slot-line);
    stroke-width: 2;
  }
  .viz-timeout-arc {
    fill: none;
    stroke: var(--viz-warn);
    stroke-width: 3;
    stroke-linecap: round;
  }
  .viz-tray-fill {
    fill: var(--viz-fill);
    stroke: none;
    opacity: 0.75;
  }
  .viz-closure {
    fill: var(--viz-slot);
    stroke: none;
  }
  .viz-closure[data-reason="full"] {
    fill: var(--viz-fill);
  }
  .viz-closure[data-reason="timeout"] {
    fill: var(--viz-warn);
  }
  .viz-caller {
    fill: none;
    stroke: var(--viz-faint);
    stroke-width: 1.25;
  }
  .viz-caller[data-state="in"] {
    fill: var(--viz-fill);
    stroke: var(--viz-fill);
  }
  .viz-caller[data-state="lost"] {
    fill: none;
    stroke: var(--viz-bad);
    stroke-width: 1.5;
  }
  .viz-funnel {
    fill: var(--viz-fill-soft);
    fill-opacity: 0.55;
    stroke: var(--viz-edge);
    stroke-width: 1;
  }
  .viz-funnel[data-tight="true"] {
    fill: var(--viz-warn);
    @supports (color: color-mix(in lab, red, red)) {
      fill: color-mix(in srgb, var(--viz-warn) 12%, transparent);
    }
    stroke: var(--viz-warn);
    @supports (color: color-mix(in lab, red, red)) {
      stroke: color-mix(in srgb, var(--viz-warn) 45%, transparent);
    }
  }
  .viz-door-slot {
    fill: var(--viz-slot);
    stroke: var(--viz-node-line);
    stroke-width: 1.25;
  }
  .viz-door-slot[data-state="busy"] {
    fill: var(--viz-fill-soft);
    stroke: var(--viz-fill);
  }
  .viz-hot-row {
    fill: var(--viz-slot);
    stroke: var(--viz-node-line);
    stroke-width: 1.25;
  }
  .viz-hot-row[data-state="locked"] {
    fill: var(--viz-warn);
    @supports (color: color-mix(in lab, red, red)) {
      fill: color-mix(in srgb, var(--viz-warn) 16%, var(--viz-bg));
    }
    stroke: var(--viz-warn);
  }
  .viz-hot-row[data-state="touched"] {
    fill: var(--viz-fill-soft);
    stroke: var(--viz-fill);
  }
  .viz-readouts {
    display: flex;
    flex-wrap: wrap;
    gap: 0 1.5rem;
    margin-top: 0.75rem;
    padding-bottom: 0.125rem;
  }
  .viz-stat {
    display: flex;
    flex-direction: column;
    gap: 0.0625rem;
    min-width: 4.5rem;
  }
  .viz-stat-value {
    font-family: var(--font-mono);
    font-size: 0.9375rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
    color: var(--viz-text);
    transition: color 200ms ease-out;
  }
  .viz-stat-label {
    font-family: var(--font-sans);
    font-size: 0.6875rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--viz-faint);
  }
  .viz-stat[data-tone="good"] .viz-stat-value {
    color: var(--viz-good);
  }
  .viz-stat[data-tone="warn"] .viz-stat-value {
    color: var(--viz-warn);
  }
  .viz-stat[data-tone="bad"] .viz-stat-value {
    color: var(--viz-bad);
  }
  .viz-spark {
    display: block;
    width: 52px;
    height: 14px;
    margin: 0.125rem 0 0.0625rem;
    overflow: visible;
  }
  .viz-spark path {
    fill: none;
    stroke: var(--viz-faint);
    stroke-width: 1.25;
    stroke-linejoin: round;
    stroke-linecap: round;
  }
  .viz-stat[data-tone="good"] .viz-spark path {
    stroke: var(--viz-good);
  }
  .viz-stat[data-tone="warn"] .viz-spark path {
    stroke: var(--viz-warn);
  }
  .viz-stat[data-tone="bad"] .viz-spark path {
    stroke: var(--viz-bad);
  }
  @media (prefers-reduced-motion: reduce) {
    .viz-spark path {
      stroke-width: 1.5;
    }
  }
  .viz-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem 1.25rem;
    margin-top: 0.875rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--viz-edge);
  }
  .viz-transport {
    display: flex;
    align-items: center;
    gap: 0.375rem;
  }
  .viz-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    min-height: 1.75rem;
    padding: 0 0.625rem;
    border: 1px solid var(--viz-node-line);
    border-radius: 0.1875rem;
    background: var(--viz-node);
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--viz-muted);
    cursor: pointer;
    transition: color 150ms ease-out, border-color 150ms ease-out;
  }
  .viz-btn:hover {
    color: var(--viz-token);
    border-color: var(--viz-fill);
  }
  .viz-btn:focus-visible {
    outline: 2px solid var(--viz-fill);
    outline-offset: 1px;
  }
  .viz-btn-play {
    width: 1.75rem;
    padding: 0;
  }
  .viz-btn-play svg {
    width: 0.6875rem;
    height: 0.6875rem;
    fill: currentColor;
  }
  .viz-btn-play[data-playing="true"] {
    color: var(--viz-token);
    border-color: var(--viz-fill);
  }
  .viz-btn-action {
    border-color: var(--viz-fill);
    color: var(--viz-token);
  }
  .viz-speed {
    display: inline-flex;
    align-items: center;
    gap: 0.3125rem;
  }
  .viz-speed-label, .viz-field-name {
    font-family: var(--font-sans);
    font-size: 0.6875rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--viz-faint);
  }
  .viz-select {
    min-height: 1.75rem;
    padding: 0 0.375rem;
    border: 1px solid var(--viz-node-line);
    border-radius: 0.1875rem;
    background: var(--viz-node);
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--viz-text);
    cursor: pointer;
  }
  .viz-select:focus-visible {
    outline: 2px solid var(--viz-fill);
    outline-offset: 1px;
  }
  .viz-params {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem 1.125rem;
  }
  .viz-field {
    display: flex;
    flex-direction: column;
    gap: 0.1875rem;
    min-width: 7.5rem;
  }
  .viz-field[data-type="select"] {
    min-width: 9.5rem;
  }
  .viz-field[data-type="toggle"] {
    flex-direction: row;
    align-items: center;
    gap: 0.4375rem;
    min-width: 0;
  }
  .viz-field-label {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
  }
  .viz-field-value {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-variant-numeric: tabular-nums;
    color: var(--viz-token);
  }
  .viz-range {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 2px;
    border-radius: 1px;
    background: var(--viz-slot-line);
    cursor: pointer;
  }
  .viz-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 0.75rem;
    height: 0.75rem;
    border: none;
    border-radius: 50%;
    background: var(--viz-fill);
    cursor: pointer;
  }
  .viz-range::-moz-range-thumb {
    width: 0.75rem;
    height: 0.75rem;
    border: none;
    border-radius: 50%;
    background: var(--viz-fill);
    cursor: pointer;
  }
  .viz-range:focus-visible {
    outline: 2px solid var(--viz-fill);
    outline-offset: 3px;
  }
  .viz-check {
    width: 0.875rem;
    height: 0.875rem;
    accent-color: var(--viz-fill);
    cursor: pointer;
  }
  .viz-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 1rem;
    margin-top: 0.625rem;
  }
  .viz-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-family: var(--font-sans);
    font-size: 0.6875rem;
    color: var(--viz-muted);
  }
  .viz-legend-swatch {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: var(--viz-token);
  }
  .viz-legend-swatch[data-tag="heavy"] {
    background: var(--viz-token-alt);
  }
  .viz-legend-swatch[data-kind="dropped"] {
    background: var(--viz-bad);
  }
  .viz-legend-swatch[data-kind="busy"] {
    background: var(--viz-fill);
  }
  .viz-legend-swatch[data-kind="kept"] {
    background: var(--viz-fill);
  }
  .viz-legend-swatch[data-kind="filtered"] {
    background: transparent;
    border: 1px dashed var(--viz-faint);
  }
  .viz-legend-swatch[data-kind="untouched"] {
    background: transparent;
    border: 1px dotted var(--viz-edge);
  }
  .viz-caption, .viz-error {
    margin: 0.625rem 0 0;
    font-family: var(--font-sans);
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--viz-muted);
  }
  .viz-error {
    color: var(--viz-bad);
  }
  .viz[data-reduced-motion="true"] .viz-canvas::after {
    content: "paused — press play";
    position: absolute;
    right: 0.5rem;
    bottom: 0.375rem;
    font-family: var(--font-mono);
    font-size: 0.625rem;
    color: var(--viz-faint);
  }
  .viz-cell {
    fill: none;
    stroke: var(--viz-slot-line);
    stroke-width: 1;
    transition: fill 120ms linear;
  }
  .viz-cell[data-state="kept"] {
    fill: var(--viz-fill-soft);
    stroke: var(--viz-fill);
  }
  .viz-cell[data-state="active"] {
    fill: var(--viz-fill);
    stroke: var(--viz-fill);
  }
  .viz-cell[data-state="dropped"] {
    fill: none;
    stroke: var(--viz-faint);
    stroke-dasharray: 2 2;
  }
  .viz-cell[data-state="untouched"] {
    fill: none;
    stroke: var(--viz-edge);
    stroke-dasharray: 1 3;
  }
  .viz-cell-value[data-state="active"] {
    fill: var(--viz-bg);
    font-weight: 600;
  }
  .viz-cell-value[data-state="dropped"] {
    fill: var(--viz-faint);
  }
  .viz-dot {
    fill: var(--viz-slot);
    stroke: var(--viz-slot-line);
    stroke-width: 1;
  }
  .viz-dot[data-state="kept"] {
    fill: var(--viz-fill-soft);
    stroke: var(--viz-fill);
  }
  .viz-dot[data-state="active"] {
    fill: var(--viz-fill);
    stroke: var(--viz-fill);
  }
  .viz-dot[data-state="untouched"] {
    fill: none;
    stroke: var(--viz-faint);
    stroke-dasharray: 2 2;
  }
  .viz-edge {
    fill: none;
    stroke: var(--viz-wire);
    stroke-width: 1.25;
  }
  .viz-edge[data-state="active"] {
    stroke: var(--viz-fill);
    stroke-width: 1.75;
  }
  .viz-edge[data-state="shared"] {
    stroke: var(--viz-edge);
  }
  .viz-pipe-counter[data-tone="good"] {
    fill: var(--viz-good);
  }
  .viz-pipe-counter[data-tone="warn"] {
    fill: var(--viz-warn);
  }
  .viz-pipe-counter[data-tone="bad"] {
    fill: var(--viz-bad);
  }
  .viz-pipe-halt[data-tone="good"] {
    fill: var(--viz-good);
  }
  .viz-pipe-halt[data-tone="bad"] {
    fill: var(--viz-bad);
  }
  .viz-proc {
    fill: var(--viz-node);
    stroke: var(--viz-node-line);
    stroke-width: 1.25;
    transition: fill 120ms linear, stroke 120ms linear;
  }
  .viz-proc[data-state="alive"] {
    fill: var(--viz-fill-soft);
    stroke: var(--viz-fill);
  }
  .viz-proc[data-state="trapping"] {
    fill: var(--viz-fill-soft);
    stroke: var(--viz-good);
    stroke-width: 2;
  }
  .viz-proc[data-state="hit"] {
    fill: var(--viz-bad);
    stroke: var(--viz-bad);
  }
  .viz-proc[data-state="dead"] {
    fill: none;
    stroke: var(--viz-faint);
    stroke-dasharray: 3 3;
  }
  .viz-proc-edge {
    fill: none;
    stroke: var(--viz-wire);
    stroke-width: 1.5;
  }
  .viz-proc-edge[data-kind="monitor"] {
    stroke-dasharray: 5 3;
  }
  .viz-proc-edge[data-kind="none"] {
    stroke: var(--viz-edge);
    stroke-dasharray: 1 4;
  }
  .viz-proc-edge[data-hot="true"] {
    stroke: var(--viz-bad);
    stroke-width: 2;
  }
  .viz-proc-edge[data-hot="news"] {
    stroke: var(--viz-warn);
    stroke-width: 2;
  }
  .viz-proc-edge[data-hot="benign"] {
    stroke: var(--viz-good);
    stroke-width: 2;
  }
  .viz-signal {
    stroke: none;
  }
  .viz-signal[data-kind="exit"] {
    fill: var(--viz-bad);
  }
  .viz-signal[data-kind="down"] {
    fill: var(--viz-warn);
  }
  .viz-signal[data-kind="normal"] {
    fill: var(--viz-good);
  }
  .viz-mail {
    fill: var(--viz-slot);
    stroke: var(--viz-slot-line);
    stroke-width: 1;
  }
  .viz-mail[data-kind="down"] {
    fill: var(--viz-warn);
    @supports (color: color-mix(in lab, red, red)) {
      fill: color-mix(in srgb, var(--viz-warn) 14%, transparent);
    }
    stroke: var(--viz-warn);
  }
  .viz-mail[data-kind="exit"] {
    fill: var(--viz-bad);
    @supports (color: color-mix(in lab, red, red)) {
      fill: color-mix(in srgb, var(--viz-bad) 14%, transparent);
    }
    stroke: var(--viz-bad);
  }
  .viz-mail[data-kind="normal"] {
    fill: var(--viz-good);
    @supports (color: color-mix(in lab, red, red)) {
      fill: color-mix(in srgb, var(--viz-good) 14%, transparent);
    }
    stroke: var(--viz-good);
  }
  .viz-mail-text {
    fill: var(--viz-text);
  }
  .viz-legend-swatch[data-kind="exit"] {
    background: var(--viz-bad);
  }
  .viz-legend-swatch[data-kind="down"] {
    background: var(--viz-warn);
  }
  .viz-legend-swatch[data-kind="normal"] {
    background: var(--viz-good);
  }
  .viz-legend-swatch[data-kind="trapping"] {
    background: transparent;
    border: 2px solid var(--viz-good);
  }
  .viz-ring {
    fill: none;
    stroke: var(--viz-wire);
    stroke-width: 1.25;
  }
  .viz-key {
    stroke-width: 0;
  }
  .viz-key[data-state="kept"] {
    fill: var(--viz-fill-soft);
    stroke: var(--viz-fill);
    stroke-width: 1;
  }
  .viz-key[data-state="active"] {
    fill: var(--viz-bad);
    stroke: none;
  }
  .viz-vnode {
    stroke: var(--viz-fill);
    stroke-width: 2;
    stroke-linecap: round;
  }
  .viz-vnode[data-owner="0"] {
    stroke: var(--viz-fill);
  }
  .viz-vnode[data-owner="1"] {
    stroke: var(--viz-good);
  }
  .viz-vnode[data-owner="2"] {
    stroke: var(--viz-warn);
  }
  .viz-vnode[data-owner="3"] {
    stroke: var(--viz-token);
  }
  .viz-vnode[data-owner="4"] {
    stroke: var(--viz-bad);
  }
  .viz-vnode[data-owner="5"] {
    stroke: var(--viz-muted);
  }
  .viz-heap {
    fill: var(--viz-slot);
    stroke: var(--viz-slot-line);
    stroke-width: 1;
  }
  .viz-heap[data-state="active"] {
    stroke: var(--viz-warn);
    stroke-width: 1.5;
  }
  .viz-heap-fill {
    fill: var(--viz-fill);
    stroke: none;
    opacity: 0.75;
  }
  .viz-heap-fill[data-state="active"] {
    fill: var(--viz-warn);
    opacity: 1;
  }
  .viz-token[data-tag="retry"], .viz-token[data-tag="stalled"], .viz-token[data-tag="locked"], .viz-token[data-tag="write"] {
    fill: var(--viz-token-alt);
  }
  .viz-legend-swatch[data-tag="retry"], .viz-legend-swatch[data-tag="stalled"], .viz-legend-swatch[data-tag="write"] {
    background: var(--viz-token-alt);
  }
  .viz-legend-swatch[data-kind="active"] {
    background: var(--viz-fill);
  }
  .viz-legend-swatch[data-kind="running"] {
    background: var(--viz-fill);
  }
  .article-prose .article-viz {
    margin: 2.25rem 0;
  }
  .article-prose .article-viz > .article-viz-try {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    margin: 0.625rem 0 0;
    font-family: var(--font-sans);
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--viz-text);
  }
  .article-prose .article-viz > .article-viz-try > span {
    flex: none;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--viz-fill);
  }
  .article-prose .article-viz > .article-viz-caption {
    margin: 0.625rem 0 0;
    font-family: var(--font-sans);
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--viz-muted);
    text-align: left;
  }
  .article-prose .article-viz-error {
    padding: 0.75rem 1rem;
    border: 1px solid var(--viz-bad);
    @supports (color: color-mix(in lab, red, red)) {
      border: 1px solid color-mix(in srgb, var(--viz-bad) 35%, transparent);
    }
    border-radius: 4px;
    background: var(--viz-bad);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--viz-bad) 7%, transparent);
    }
    color: var(--viz-text);
  }
  @media (max-width: 640px) {
    .viz-controls {
      gap: 0.625rem 0.875rem;
    }
    .viz-field {
      min-width: 100%;
    }
    .viz-readouts {
      gap: 0 1rem;
    }
    .viz-stat-value {
      font-size: 0.875rem;
    }
    .viz-canvas {
      overflow-x: auto;
      overscroll-behavior-x: contain;
      -webkit-overflow-scrolling: touch;
    }
    .viz-stage {
      min-width: 620px;
    }
  }
  .viz-lab-head {
    margin-bottom: 1.5rem;
  }
  .viz-lab-title {
    font-family: Inter var, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
    color: #111827;
    &:is(.dark *) {
      color: #f3f4f6;
    }
    margin: 0;
  }
  .viz-lab-lede {
    font-family: "Source Serif 4", Charter, Georgia, ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
    color: #4b5563;
    &:is(.dark *) {
      color: #9ca3af;
    }
    margin: 0.375rem 0 0;
  }
  .viz-lab-summary {
    font-family: Inter var, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    color: #6b7280;
    &:is(.dark *) {
      color: #6b7280;
    }
    max-width: 46rem;
    margin: 0.5rem 0 0;
  }
  .viz-lab-back {
    font-family: Fira Code VF, Fira Code, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    color: #6d28d9;
    &:is(.dark *) {
      color: #c4b5fd;
    }
    display: inline-block;
    margin-bottom: 1rem;
  }
  .viz-lab-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr));
    gap: 1.75rem;
  }
  .viz-lab-card {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
    border-color: #e5e7eb;
    &:is(.dark *) {
      border-color: #1f2937;
    }
    padding-bottom: 1.25rem;
  }
  .viz-lab-card-title {
    font-family: Inter var, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
    color: #111827;
    &:is(.dark *) {
      color: #f3f4f6;
    }
    display: block;
    border-bottom: 2px solid transparent;
    transition: color 150ms ease-out, border-color 150ms ease-out;
  }
  .viz-lab-card-title:hover {
    border-color: #8b5cf6;
    color: #6d28d9;
    &:is(.dark *) {
      color: #c4b5fd;
    }
  }
  .viz-lab-card-blurb {
    font-family: "Source Serif 4", Charter, Georgia, ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
    color: #4b5563;
    &:is(.dark *) {
      color: #9ca3af;
    }
    margin: 0.375rem 0 0.75rem;
  }
  .viz-lab-preview {
    margin-bottom: 0.75rem;
  }
  .viz-lab-card-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.375rem 0.75rem;
  }
  .viz-lab-id {
    font-family: Fira Code VF, Fira Code, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    color: #6b7280;
    &:is(.dark *) {
      color: #6b7280;
    }
  }
  .viz-lab-tag {
    font-family: Inter var, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    color: #6d28d9;
    &:is(.dark *) {
      color: #c4b5fd;
    }
  }
  .viz-lab-stage {
    margin-bottom: 1rem;
  }
  .viz-lab-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.875rem;
    margin-bottom: 0.875rem;
  }
  .viz-lab-seed {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
  }
  .viz-lab-seed-input {
    width: 6rem;
    min-height: 1.75rem;
    padding: 0 0.375rem;
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: #d1d5db;
    background-color: var(--color-white);
    font-family: Fira Code VF, Fira Code, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    color: #111827;
    &:is(.dark *) {
      border-color: #374151;
    }
    &:is(.dark *) {
      background-color: #111827;
    }
    &:is(.dark *) {
      color: #f3f4f6;
    }
    border-radius: 0.1875rem;
  }
  .viz-lab-seed-input:focus {
    border-color: #8b5cf6;
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    --tw-ring-color: #8b5cf6;
    --tw-outline-style: none;
    outline-style: none;
    @media (forced-colors: active) {
      outline: 2px solid transparent;
      outline-offset: 2px;
    }
  }
  .viz-lab-output {
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: #e5e7eb;
    background-color: #f9fafb;
    font-family: Fira Code VF, Fira Code, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    color: #374151;
    &:is(.dark *) {
      border-color: #1f2937;
    }
    &:is(.dark *) {
      background-color: #111827;
    }
    &:is(.dark *) {
      color: #d1d5db;
    }
    padding: 0.75rem 0.875rem;
    border-radius: 0.25rem;
    overflow-x: auto;
    white-space: pre;
  }
  .viz-lab-stage {
    max-width: 56rem;
  }
  @font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
    src: url("/fonts/Inter-Regular-4dd66a113d54a7f9a1ae913049610617.woff2?vsn=d") format("woff2"), url("/fonts/Inter-Regular-7c539936c4c8c822b59a1bcc6c08a6ec.woff?vsn=d") format("woff");
  }
  @font-face {
    font-family: "Source Serif 4";
    font-style: normal;
    font-weight: 200 900;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
    src: url("/fonts/SourceSerif4-Roman.var-e9192c2fe0a31fbb3b7cd6a28b2309cd.woff2?vsn=d") format("woff2");
  }
  @font-face {
    font-family: "Source Serif 4";
    font-style: italic;
    font-weight: 200 900;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
    src: url("/fonts/SourceSerif4-Italic.var-66c33f6b248f76850cff4a00118c80e4.woff2?vsn=d") format("woff2");
  }
  @font-face {
    font-family: 'Fira Code';
    src: url('/fonts/FiraCode-Light-f46c731cb8e64db8e052d4537017cd11.woff2?vsn=d') format('woff2'), url("/fonts/FiraCode-Light-3ee54064261b9c60dd7158361a69984e.woff?vsn=d") format("woff");
    font-weight: 300;
    font-style: normal;
  }
  @font-face {
    font-family: 'Fira Code';
    src: url('/fonts/FiraCode-Regular-507cfa03982e436605ea817454931f2f.woff2?vsn=d') format('woff2'), url("/fonts/FiraCode-Regular-a79534418cf151b4950f1f4d62a35341.woff?vsn=d") format("woff");
    font-weight: 400;
    font-style: normal;
  }
  @font-face {
    font-family: 'Fira Code';
    src: url('/fonts/FiraCode-Medium-c0ee572c47b2dea2e3d37ee527d8cb14.woff2?vsn=d') format('woff2'), url("/fonts/FiraCode-Medium-0ba163e48cc171359978e0da4ff71d90.woff?vsn=d") format("woff");
    font-weight: 500;
    font-style: normal;
  }
  @font-face {
    font-family: 'Fira Code';
    src: url('/fonts/FiraCode-SemiBold-aa0b6c0b856be73eeea1f8c524a2f878.woff2?vsn=d') format('woff2'), url("/fonts/FiraCode-SemiBold-f47027f165df32df70e5cd25cdd7681a.woff?vsn=d") format("woff");
    font-weight: 600;
    font-style: normal;
  }
  @font-face {
    font-family: 'Fira Code';
    src: url('/fonts/FiraCode-Bold-46d5e77a7397fed486199ac0e148bbfc.woff2?vsn=d') format('woff2'), url("/fonts/FiraCode-Bold-9effcc85d769e18d728a90b52bc336b8.woff?vsn=d") format("woff");
    font-weight: 700;
    font-style: normal;
  }
  @supports (font-variation-settings: normal) {
    @font-face {
      font-family: "Inter var";
      font-weight: 100 900;
      font-style: normal;
      font-named-instance: "Regular";
      font-display: swap;
      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
      src: url("/fonts/Inter-roman.var-90e8f61d26f65b5ff0acc45ddf6740ea.woff2?vsn=d") format("woff2");
    }
    @font-face {
      font-family: "Inter var";
      font-weight: 100 900;
      font-style: italic;
      font-named-instance: "Italic";
      font-display: swap;
      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
      src: url("/fonts/Inter-italic.var-2690e3c25733fb852b55b3f8d651a431.woff2?vsn=d") format("woff2");
    }
    @font-face {
      font-family: 'Fira Code VF';
      font-weight: 300 700;
      font-style: normal;
      font-display: swap;
      src: url('/fonts/FiraCode-VF-4bcf8df5bcb37545cbadd2ef224c2cdc.woff2?vsn=d') format('woff2-variations'), url('/fonts/FiraCode-VF-3a803c241d7241c54d2d9a9056959545.woff?vsn=d') format('woff-variations');
    }
  }
  :root {
    --code-bg: #fbfafe;
    --code-border: #e6e3f0;
    --code-rule: #8b5cf6;
    --code-ink: #2a2734;
    --code-muted: #565064;
    --code-keyword: #6d28d9;
    --code-string: #2f7d52;
    --code-atom: #a85b08;
    --code-type: #0f766e;
    --code-comment: #8b8a94;
    --code-error: #be123c;
    --code-label: #6d28d9;
    --code-hll-bg: #f1ecfd;
    --code-inline-bg: #f3effd;
    --code-inline-ink: #5b21b6;
    --code-scroll-shadow: rgba(76, 29, 149, 0.12);
  }
  .dark {
    --code-bg: #16141f;
    --code-border: #2b2738;
    --code-rule: #8b5cf6;
    --code-ink: #e2e2ea;
    --code-muted: #b1aec2;
    --code-keyword: #c4b5fd;
    --code-string: #9dd6b0;
    --code-atom: #e3b584;
    --code-type: #7fd0c2;
    --code-comment: #807e93;
    --code-error: #f08fa8;
    --code-label: #a78bfa;
    --code-hll-bg: #221d36;
    --code-inline-bg: #251f38;
    --code-inline-ink: #cabffc;
    --code-scroll-shadow: rgba(0, 0, 0, 0.55);
  }
  .prose pre {
    position: relative;
    overflow: hidden;
    background-color: var(--code-bg);
    border: 1px solid var(--code-border);
    border-top: 2px solid var(--code-rule);
    border-radius: 0;
    color: var(--code-ink);
    padding: 2.4rem 0 0 0;
  }
  .prose pre code {
    display: block;
    overflow-x: auto;
    padding: 0 1.25rem 1.15rem;
    background: linear-gradient(90deg, var(--code-bg) 40%, rgba(255, 255, 255, 0)) left center, linear-gradient(270deg, var(--code-bg) 40%, rgba(255, 255, 255, 0)) right center, radial-gradient(farthest-side at 0 50%, var(--code-scroll-shadow), transparent) left center, radial-gradient(farthest-side at 100% 50%, var(--code-scroll-shadow), transparent) right center;
    background-repeat: no-repeat;
    background-size: 3rem 100%, 3rem 100%, 0.9rem 100%, 0.9rem 100%;
    background-attachment: local, local, scroll, scroll;
  }
  .prose pre[data-lang]::before {
    content: attr(data-lang);
    position: absolute;
    top: 0.75rem;
    left: 1.25rem;
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--code-label);
  }
  .code-copy {
    position: absolute;
    top: 0.6rem;
    right: 1rem;
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--code-comment);
    padding: 0.15rem 0.25rem;
    opacity: 0;
    transition: opacity 150ms ease-out, color 150ms ease-out;
  }
  .prose pre:hover .code-copy, .code-copy:focus-visible {
    opacity: 1;
  }
  .code-copy:hover {
    color: var(--code-label);
  }
  .code-copy-done, .code-copy-done:hover {
    color: var(--code-string);
    opacity: 1;
  }
  @media (hover: none) {
    .code-copy {
      opacity: 1;
    }
  }
  @media (min-width: 1024px) {
    .prose pre {
      margin-left: -1.25rem;
      margin-right: -0.5rem;
    }
  }
  .prose code.inline {
    color: var(--code-inline-ink);
    background-color: var(--code-inline-bg);
    border-radius: 0.25rem;
    padding: 0.1em 0.35em;
  }
  .makeup {
    font-family: Fira Code VF, Fira Code, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    color: var(--code-ink);
  }
  .makeup .unselectable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }
  .makeup .hll {
    display: block;
    margin: 0 -1.25rem;
    padding: 0 1.25rem;
    background-color: var(--code-hll-bg);
    box-shadow: inset 2px 0 0 var(--code-rule);
  }
  .makeup .k, .makeup .kc, .makeup .kd, .makeup .kn, .makeup .kp, .makeup .kr, .makeup .kt, .makeup .nb, .makeup .bp, .makeup .nt {
    color: var(--code-keyword);
  }
  .makeup .s, .makeup .s1, .makeup .s2, .makeup .sa, .makeup .sb, .makeup .sc, .makeup .sd, .makeup .sh, .makeup .si, .makeup .sr, .makeup .sx, .makeup .dl, .makeup .gi {
    color: var(--code-string);
  }
  .makeup .m, .makeup .mb, .makeup .mf, .makeup .mh, .makeup .mi, .makeup .mo, .makeup .il, .makeup .l, .makeup .ld, .makeup .ss, .makeup .na, .makeup .no, .makeup .se, .makeup .cp, .makeup .cpf {
    color: var(--code-atom);
  }
  .makeup .nc, .makeup .nn, .makeup .nd, .makeup .ne, .makeup .nf, .makeup .fm {
    color: var(--code-type);
  }
  .makeup .n, .makeup .ni, .makeup .nl, .makeup .nv, .makeup .nx, .makeup .py, .makeup .vc, .makeup .vg, .makeup .vi, .makeup .vm {
    color: var(--code-ink);
  }
  .makeup .o, .makeup .ow, .makeup .p {
    color: var(--code-muted);
  }
  .makeup .c, .makeup .c1, .makeup .ch, .makeup .cm, .makeup .cs, .makeup .gu {
    color: var(--code-comment);
    font-style: italic;
  }
  .makeup .err, .makeup .gd {
    color: var(--code-error);
  }
  .makeup .ge {
    font-style: italic;
  }
  .makeup .gs {
    font-weight: bold;
  }
  .hljs {
    color: var(--code-ink);
  }
  .hljs-keyword, .hljs-doctag, .hljs-formula, .hljs-selector-tag, .hljs-name {
    color: var(--code-keyword);
  }
  .hljs-string, .hljs-regexp, .hljs-meta-string, .hljs-addition {
    color: var(--code-string);
  }
  .hljs-number, .hljs-literal, .hljs-symbol, .hljs-bullet, .hljs-link, .hljs-attr, .hljs-attribute, .hljs-variable, .hljs-template-variable, .hljs-selector-attr, .hljs-selector-pseudo {
    color: var(--code-atom);
  }
  .hljs-title, .hljs-section, .hljs-type, .hljs-built_in, .hljs-builtin-name, .hljs-class .hljs-title, .hljs-selector-id, .hljs-selector-class {
    color: var(--code-type);
  }
  .hljs-meta, .hljs-tag, .hljs-subst, .hljs-params {
    color: var(--code-muted);
  }
  .hljs-comment, .hljs-quote {
    color: var(--code-comment);
    font-style: italic;
  }
  .hljs-deletion {
    color: var(--code-error);
  }
  .hljs-emphasis {
    font-style: italic;
  }
  .hljs-strong {
    font-weight: bold;
  }
  .hljs-link {
    text-decoration: underline;
  }
  .dark .prose strong {
    color: #f9fafb !important;
  }
  .dark .link, .dark .prose a, .dark .prose a code {
    color: #e5e7eb;
  }
  .dark .link:focus, .dark .prose a:focus, .dark .prose a:focus code {
    color: #fecaca;
  }
  .dark .link:visited, .dark .prose a:visited, .dark .prose a:visited code {
    color: #e9d5ff;
  }
  .dark .link:hover, .dark .prose a:hover, .dark .prose a:hover code {
    color: #fecaca;
  }
  .dark .sidenote {
    color: #9ca3af;
  }
  .dark .sidenote::before {
    color: #c4b5fd;
  }
  .dark .sidenote.is-active {
    color: #9ca3af;
    border-left-color: #4b5563;
    background-color: #1f2937;
  }
  .dark .sidenote.is-highlighted {
    background-color: rgba(217, 180, 60, 0.15);
  }
  .phx-no-feedback.invalid-feedback, .phx-no-feedback .invalid-feedback {
    display: none;
  }
  .phx-click-loading {
    opacity: 0.5;
    transition: opacity 1s ease-out;
  }
  .phx-disconnected {
    cursor: wait;
  }
  .phx-disconnected * {
    pointer-events: none;
  }
}
@layer base {
  *,
  ::after,
  ::before,
  ::backdrop,
  ::file-selector-button {
    border-color: var(--color-gray-200, currentcolor);
  }
  input::placeholder, textarea::placeholder {
    color: var(--color-gray-400);
  }
  button:not(:disabled), [role="button"]:not(:disabled) {
    cursor: pointer;
  }
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-divide-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-ordinal {
  syntax: "*";
  inherits: false;
}
@property --tw-slashed-zero {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-figure {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-space-y-reverse: 0;
      --tw-divide-y-reverse: 0;
      --tw-border-style: solid;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-leading: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-duration: initial;
      --tw-ease: initial;
    }
  }
}
