import { assert, test } from 'vitest'

import { colorFromTheme, fromTheme, twind, virtual } from '@twind/core'
import presetTypography from '.'

test('using typography defaults', () => {
  const tw = twind(
    {
      presets: [presetTypography()],
      theme: {
        screens: {
          sm: '640px',
          md: '768px',
          lg: '1024px',
          xl: '1280px',
          '2xl': '1536px',
        },
        spacing: {
          none: 'none',
          full: '100%',
          sm: '1rem',
          base: '1.2rem',
          md: '1.5rem',
          lg: '2rem',
          xl: '3rem',
          0: '0px',
          '1': '.25rem',
          '0.5': '0.5rem',
          '2': '1rem',
          '2.5': '1.125rem',
          '6': '1.5rem',
          '9': '2.5rem',
          '12': '3rem',
        },
        // 'max-w': {
        //   prose: '80ch',
        // },
        colors: {
          gray: {
            50: '#f9fafb',
            100: '#f3f4f6',
            200: '#e5e7eb',
            300: '#d1d5db',
            400: '#9ca3af',
            500: '#6b7280',
            600: '#4b5563',
            700: '#374151',
            800: '#1f2937',
            900: '#111827',
          },
          slate: {
            50: '#f8fafc',
            100: '#f1f5f9',
            200: '#e2e8f0',
            300: '#cbd5e1',
            400: '#94a3b8',
            500: '#64748b',
            600: '#475569',
            700: '#334155',
            800: '#1e293b',
            900: '#0f172a',
          },
          amber: {
            50: '#fffbeb',
            100: '#fef3c7',
            200: '#fde68a',
            300: '#fcd34d',
            400: '#fbbf24',
            500: '#f59e0b',
            600: '#d97706',
            700: '#b45309',
            800: '#92400e',
            900: '#78350f',
          },
        },
        fontSize: {
          xs: ['0.75rem', '1rem'],
          sm: ['0.875rem', '1.25rem'],
          base: ['1rem', '1.5rem'],
          lg: ['1.125rem', '1.75rem'],
          xl: ['1.25rem', '1.75rem'],
          '2xl': ['1.5rem', '2rem'],
          '3xl': ['1.875rem', '2.25rem'],
          '4xl': ['2.25rem', '2.5rem'],
          '5xl': ['3rem', '1'],
          '6xl': ['3.75rem', '1'],
          '7xl': ['4.5rem', '1'],
          '8xl': ['6rem', '1'],
          '9xl': ['8rem', '1'],
        },
      },
      rules: [
        ['(overline|underline|line-through)', 'textDecorationLine'],
        ['text-', colorFromTheme({ section: 'colors', property: 'color' })],
        [
          'text-',
          fromTheme('fontSize', ({ _ }) =>
            typeof _ == 'string'
              ? { fontSize: _ }
              : {
                  fontSize: _[0],
                  ...(typeof _[1] == 'string' ? { lineHeight: _[1] } : _[1]),
                },
          ),
        ],
      ],
    },
    virtual(),
  )

  // tw('text-base prose-slate prose xl:text-xl')
  assert.strictEqual(
    tw(
      'prose(& lg:xl slate dark:invert) prose-headings:underline prose-code:text-amber-600 hover:prose-code:text-amber-500',
    ),
    'prose prose-slate lg:prose-xl prose-code:text-amber-600 prose-headings:underline hover:prose-code:text-amber-500 dark:prose-invert',
  )
  assert.strictEqual(tw('lead'), 'lead')
  assert.strictEqual(tw('not-prose'), 'not-prose')

  assert.deepEqual(tw.target, [
    '.prose{--tw-prose-body:rgba(55,65,81,1);--tw-prose-headings:rgba(17,24,39,1);--tw-prose-lead:rgba(75,85,99,1);--tw-prose-links:rgba(17,24,39,1);--tw-prose-bold:rgba(17,24,39,1);--tw-prose-counters:rgba(107,114,128,1);--tw-prose-bullets:rgba(209,213,219,1);--tw-prose-hr:rgba(229,231,235,1);--tw-prose-quotes:rgba(17,24,39,1);--tw-prose-quote-borders:rgba(229,231,235,1);--tw-prose-captions:rgba(107,114,128,1);--tw-prose-code:rgba(17,24,39,1);--tw-prose-pre-code:rgba(229,231,235,1);--tw-prose-pre-bg:rgba(31,41,55,1);--tw-prose-th-borders:rgba(209,213,219,1);--tw-prose-td-borders:rgba(229,231,235,1);--tw-prose-invert-body:rgba(209,213,219,1);--tw-prose-invert-headings:rgba(255,255,255,1);--tw-prose-invert-lead:rgba(156,163,175,1);--tw-prose-invert-links:rgba(255,255,255,1);--tw-prose-invert-bold:rgba(255,255,255,1);--tw-prose-invert-counters:rgba(156,163,175,1);--tw-prose-invert-bullets:rgba(75,85,99,1);--tw-prose-invert-hr:rgba(55,65,81,1);--tw-prose-invert-quotes:rgba(243,244,246,1);--tw-prose-invert-quote-borders:rgba(55,65,81,1);--tw-prose-invert-captions:rgba(156,163,175,1);--tw-prose-invert-code:rgba(255,255,255,1);--tw-prose-invert-pre-code:rgba(209,213,219,1);--tw-prose-invert-pre-bg:rgb(0 0 0 / 50%);--tw-prose-invert-th-borders:rgba(75,85,99,1);--tw-prose-invert-td-borders:rgba(55,65,81,1)}',
    '.prose-slate{--tw-prose-body:rgba(51,65,85,1);--tw-prose-headings:rgba(15,23,42,1);--tw-prose-lead:rgba(71,85,105,1);--tw-prose-links:rgba(15,23,42,1);--tw-prose-bold:rgba(15,23,42,1);--tw-prose-counters:rgba(100,116,139,1);--tw-prose-bullets:rgba(203,213,225,1);--tw-prose-hr:rgba(226,232,240,1);--tw-prose-quotes:rgba(15,23,42,1);--tw-prose-quote-borders:rgba(226,232,240,1);--tw-prose-captions:rgba(100,116,139,1);--tw-prose-code:rgba(15,23,42,1);--tw-prose-pre-code:rgba(226,232,240,1);--tw-prose-pre-bg:rgba(30,41,59,1);--tw-prose-th-borders:rgba(203,213,225,1);--tw-prose-td-borders:rgba(226,232,240,1);--tw-prose-invert-body:rgba(203,213,225,1);--tw-prose-invert-headings:rgba(255,255,255,1);--tw-prose-invert-lead:rgba(148,163,184,1);--tw-prose-invert-links:rgba(255,255,255,1);--tw-prose-invert-bold:rgba(255,255,255,1);--tw-prose-invert-counters:rgba(148,163,184,1);--tw-prose-invert-bullets:rgba(71,85,105,1);--tw-prose-invert-hr:rgba(51,65,85,1);--tw-prose-invert-quotes:rgba(241,245,249,1);--tw-prose-invert-quote-borders:rgba(51,65,85,1);--tw-prose-invert-captions:rgba(148,163,184,1);--tw-prose-invert-code:rgba(255,255,255,1);--tw-prose-invert-pre-code:rgba(203,213,225,1);--tw-prose-invert-pre-bg:rgb(0 0 0 / 50%);--tw-prose-invert-th-borders:rgba(71,85,105,1);--tw-prose-invert-td-borders:rgba(51,65,85,1)}',
    '.prose :where(a):not(:where(.not-prose *)){color:var(--tw-prose-links);text-decoration-line:underline;font-weight:500}',
    '.prose :where(strong):not(:where(.not-prose *)){color:var(--tw-prose-bold);font-weight:600}',
    '.prose :where(a strong,blockquote strong,thead th strong):not(:where(.not-prose *)){color:inherit}',
    '.prose :where(ul):not(:where(.not-prose *)){list-style-type:disc}',
    '.prose :where(ol):not(:where(.not-prose *)){list-style-type:decimal}',
    '.prose :where(ol[type="A"]):not(:where(.not-prose *)){list-style-type:upper-alpha}',
    '.prose :where(ol[type="a"]):not(:where(.not-prose *)){list-style-type:lower-alpha}',
    '.prose :where(ol[type="A" s]):not(:where(.not-prose *)){list-style-type:upper-alpha}',
    '.prose :where(ol[type="a" s]):not(:where(.not-prose *)){list-style-type:lower-alpha}',
    '.prose :where(ol[type="I"]):not(:where(.not-prose *)){list-style-type:upper-roman}',
    '.prose :where(ol[type="i"]):not(:where(.not-prose *)){list-style-type:lower-roman}',
    '.prose :where(ol[type="I" s]):not(:where(.not-prose *)){list-style-type:upper-roman}',
    '.prose :where(ol[type="i" s]):not(:where(.not-prose *)){list-style-type:lower-roman}',
    '.prose :where(ol[type="1"]):not(:where(.not-prose *)){list-style-type:decimal}',
    '.prose :where(ol,ul):not(:where(.not-prose *)){margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}',
    '.prose :where(li):not(:where(.not-prose *)){margin-top:.5em;margin-bottom:.5em}',
    '.prose :where(ol>li):not(:where(.not-prose *)),.prose :where(ul>li):not(:where(.not-prose *)){padding-left:.375em}',
    '.prose>:where(ul>li p):not(:where(.not-prose *)){margin-top:.75em;margin-bottom:.75em}',
    '.prose>:where(ul>li>*:first-child):not(:where(.not-prose *)),.prose>:where(ol>li>*:last-child):not(:where(.not-prose *)){margin-top:1.25em}',
    '.prose>:where(ul>li>*:last-child):not(:where(.not-prose *)),.prose>:where(ol>li>*:last-child):not(:where(.not-prose *)){margin-bottom:1.25em}',
    '.prose :where(ol>li):not(:where(.not-prose *))::marker{font-weight:400;color:var(--tw-prose-counters)}',
    '.prose :where(ul>li):not(:where(.not-prose *))::marker{color:var(--tw-prose-bullets)}',
    '.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where(.not-prose *)){margin-top:.75em;margin-bottom:.75em}',
    '.prose :where(hr):not(:where(.not-prose *)){border-color:var(--tw-prose-hr);border-top-width:1;margin-top:3em;margin-bottom:3em}',
    '.prose :where(blockquote):not(:where(.not-prose *)){margin-top:1.6em;margin-bottom:1.6em;padding-left:1em;font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-left-width:0.25rem;border-left-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019"}',
    '.prose :where(blockquote p:first-of-type):not(:where(.not-prose *))::before{content:open-quote}',
    '.prose :where(blockquote p:last-of-type):not(:where(.not-prose *))::after{content:close-quote}',
    '.prose :where(p):not(:where(.not-prose *)){margin-top:1.25em;margin-bottom:1.25em}',
    '.prose :where(h1):not(:where(.not-prose *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.889em;line-height:1.15}',
    '.prose :where(h1 strong):not(:where(.not-prose *)){font-weight:900;color:inherit}',
    '.prose :where(h2):not(:where(.not-prose *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.35}',
    '.prose :where(h2 strong):not(:where(.not-prose *)){font-weight:800;color:inherit}',
    '.prose :where(h3):not(:where(.not-prose *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}',
    '.prose :where(h3 strong):not(:where(.not-prose *)){font-weight:700;color:inherit}',
    '.prose :where(h4):not(:where(.not-prose *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}',
    '.prose :where(h4 strong):not(:where(.not-prose *)){font-weight:700;color:inherit}',
    '.prose :where(hr+*,h2+*,h3+*,h4+*):not(:where(.not-prose *)){margin-top:0}',
    '.prose :where(img,video,figure):not(:where(.not-prose *)){margin-top:2em;margin-bottom:2em}',
    '.prose :where(figure>*):not(:where(.not-prose *)){margin-top:0;margin-bottom:0}',
    '.prose :where(figcaption):not(:where(.not-prose *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4;margin-top:.857em}',
    '.prose :where(code):not(:where(.not-prose *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}',
    '.prose :where(code):not(:where(.not-prose *))::before,.prose :where(code):not(:where(.not-prose *))::after{content:"`"}',
    '.prose :where(h2 code):not(:where(.not-prose *)){font-size:.875em}',
    '.prose :where(h3 code):not(:where(.not-prose *)){font-size:.9em}',
    '.prose :where(a code,h1 code,h2 code,h3 code,h4 code,blockquote code,thead th code):not(:where(.not-prose *)){color:inherit}',
    '.prose :where(pre):not(:where(.not-prose *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7;margin-top:1.714em;margin-bottom:1.714em;border-radius:0.375rem;padding-top:.857em;padding-right:1.143em;padding-bottom:.857em;padding-left:1.143em}',
    '.prose :where(pre code):not(:where(.not-prose *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}',
    '.prose :where(pre code):not(:where(.not-prose *))::before{content:none}',
    '.prose :where(pre code):not(:where(.not-prose *))::after{content:none}',
    '.prose :where(table):not(:where(.not-prose *)){width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7}',
    '.prose :where(thead):not(:where(.not-prose *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}',
    '.prose :where(thead th):not(:where(.not-prose *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-right:.571em;padding-bottom:.571em;padding-left:.571em}',
    '.prose :where(thead th:first-child):not(:where(.not-prose *)){padding-left:0}',
    '.prose :where(thead th:last-child):not(:where(.not-prose *)){padding-right:0}',
    '.prose :where(tbody tr):not(:where(.not-prose *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}',
    '.prose :where(tbody tr:last-child):not(:where(.not-prose *)){border-bottom-width:0}',
    '.prose :where(tbody td,tfoot td):not(:where(.not-prose *)){vertical-align:baseline;padding-top:.571em;padding-right:.571em;padding-bottom:.571em;padding-left:.571em}',
    '.prose :where(tbody td:first-child):not(:where(.not-prose *)),.prose :where(tfoot td:first-child):not(:where(.not-prose *)){padding-left:0}',
    '.prose :where(tbody td:last-child):not(:where(.not-prose *)),.prose :where(tfoot td:last-child):not(:where(.not-prose *)){padding-right:0}',
    '.prose :where(.lead):not(:where(.not-prose *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}',
    '.prose>:where(:first-child):not(:where(.not-prose *)){margin-top:0}',
    '.prose>:where(:last-child):not(:where(.not-prose *)){margin-bottom:0}',
    '.prose{font-size:1rem;line-height:1.5rem;color:var(--tw-prose-body);max-width:65ch}',
    '@media (min-width:1024px){.lg\\:prose-xl{font-size:1.25rem;line-height:1.75rem}}',
    '.prose-code\\:text-amber-600 :is(:where(code):not(:where(.not-prose *))){--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}',
    '.prose-headings\\:underline :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where(.not-prose *))){text-decoration-line:underline}',
    '.hover\\:prose-code\\:text-amber-500:hover :is(:where(code):not(:where(.not-prose *))){--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}',
    '@media (prefers-color-scheme:dark){.dark\\:prose-invert{--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}}',
  ])
})

test('using typography defaults with hash', () => {
  const tw = twind(
    {
      presets: [presetTypography()],
      hash: true,
      theme: {
        screens: {
          sm: '640px',
          md: '768px',
          lg: '1024px',
          xl: '1280px',
          '2xl': '1536px',
        },
        spacing: {
          none: 'none',
          full: '100%',
          sm: '1rem',
          base: '1.2rem',
          md: '1.5rem',
          lg: '2rem',
          xl: '3rem',
          0: '0px',
          '1': '.25rem',
          '0.5': '0.5rem',
          '2': '1rem',
          '2.5': '1.125rem',
          '6': '1.5rem',
          '9': '2.5rem',
          '12': '3rem',
        },
        // 'max-w': {
        //   prose: '80ch',
        // },
        colors: {
          gray: {
            50: '#f9fafb',
            100: '#f3f4f6',
            200: '#e5e7eb',
            300: '#d1d5db',
            400: '#9ca3af',
            500: '#6b7280',
            600: '#4b5563',
            700: '#374151',
            800: '#1f2937',
            900: '#111827',
          },
          slate: {
            50: '#f8fafc',
            100: '#f1f5f9',
            200: '#e2e8f0',
            300: '#cbd5e1',
            400: '#94a3b8',
            500: '#64748b',
            600: '#475569',
            700: '#334155',
            800: '#1e293b',
            900: '#0f172a',
          },
          amber: {
            50: '#fffbeb',
            100: '#fef3c7',
            200: '#fde68a',
            300: '#fcd34d',
            400: '#fbbf24',
            500: '#f59e0b',
            600: '#d97706',
            700: '#b45309',
            800: '#92400e',
            900: '#78350f',
          },
        },
        fontSize: {
          xs: ['0.75rem', '1rem'],
          sm: ['0.875rem', '1.25rem'],
          base: ['1rem', '1.5rem'],
          lg: ['1.125rem', '1.75rem'],
          xl: ['1.25rem', '1.75rem'],
          '2xl': ['1.5rem', '2rem'],
          '3xl': ['1.875rem', '2.25rem'],
          '4xl': ['2.25rem', '2.5rem'],
          '5xl': ['3rem', '1'],
          '6xl': ['3.75rem', '1'],
          '7xl': ['4.5rem', '1'],
          '8xl': ['6rem', '1'],
          '9xl': ['8rem', '1'],
        },
      },
      rules: [
        ['(overline|underline|line-through)', 'textDecorationLine'],
        ['text-', colorFromTheme({ section: 'colors', property: 'color' })],
        [
          'text-',
          fromTheme('fontSize', ({ _ }) =>
            typeof _ == 'string'
              ? { fontSize: _ }
              : {
                  fontSize: _[0],
                  ...(typeof _[1] == 'string' ? { lineHeight: _[1] } : _[1]),
                },
          ),
        ],
      ],
    },
    virtual(),
  )

  // tw('text-base prose-slate prose xl:text-xl')
  assert.strictEqual(
    tw(
      'prose(& lg:xl slate dark:invert) prose-headings:underline prose-code:text-amber-600 hover:prose-code:text-amber-500',
    ),
    '#1z0w46z #1i7v611 #xi8du6 #1yaucks #1laqzib #xcnab7 #hfhb9v',
  )

  assert.strictEqual(tw('lead'), '#ibmvbi')
  assert.strictEqual(tw('not-prose'), '#1mqzbow')

  assert.deepEqual(tw.target, [
    '.\\#1z0w46z{--1bua8di:rgba(55,65,81,1);--1o5z0xy:rgba(17,24,39,1);--folvks:rgba(75,85,99,1);--16u5zgg:rgba(17,24,39,1);--bhfl92:rgba(17,24,39,1);--1kjjz44:rgba(107,114,128,1);--19q2u97:rgba(209,213,219,1);--1qo08gk:rgba(229,231,235,1);--9q388q:rgba(17,24,39,1);--1cj85eu:rgba(229,231,235,1);--wv6c7n:rgba(107,114,128,1);--15tx0xb:rgba(17,24,39,1);--3tpeom:rgba(229,231,235,1);--1y071n0:rgba(31,41,55,1);--g4d6f8:rgba(209,213,219,1);--1y60qqm:rgba(229,231,235,1);--ljvtqj:rgba(209,213,219,1);--74m5do:rgba(255,255,255,1);--l5ryfb:rgba(156,163,175,1);--i2q4dp:rgba(255,255,255,1);--1l73e9l:rgba(255,255,255,1);--92z57j:rgba(156,163,175,1);--nok7ax:rgba(75,85,99,1);--1c9wukj:rgba(55,65,81,1);--rsluvb:rgba(243,244,246,1);--f6bcam:rgba(55,65,81,1);--1xcigj9:rgba(156,163,175,1);--18bq48t:rgba(255,255,255,1);--1rws71r:rgba(209,213,219,1);--bgens:rgb(0 0 0 / 50%);--wmgie0:rgba(75,85,99,1);--1p3a1ne:rgba(55,65,81,1)}',
    '.\\#1i7v611{--1bua8di:rgba(51,65,85,1);--1o5z0xy:rgba(15,23,42,1);--folvks:rgba(71,85,105,1);--16u5zgg:rgba(15,23,42,1);--bhfl92:rgba(15,23,42,1);--1kjjz44:rgba(100,116,139,1);--19q2u97:rgba(203,213,225,1);--1qo08gk:rgba(226,232,240,1);--9q388q:rgba(15,23,42,1);--1cj85eu:rgba(226,232,240,1);--wv6c7n:rgba(100,116,139,1);--15tx0xb:rgba(15,23,42,1);--3tpeom:rgba(226,232,240,1);--1y071n0:rgba(30,41,59,1);--g4d6f8:rgba(203,213,225,1);--1y60qqm:rgba(226,232,240,1);--ljvtqj:rgba(203,213,225,1);--74m5do:rgba(255,255,255,1);--l5ryfb:rgba(148,163,184,1);--i2q4dp:rgba(255,255,255,1);--1l73e9l:rgba(255,255,255,1);--92z57j:rgba(148,163,184,1);--nok7ax:rgba(71,85,105,1);--1c9wukj:rgba(51,65,85,1);--rsluvb:rgba(241,245,249,1);--f6bcam:rgba(51,65,85,1);--1xcigj9:rgba(148,163,184,1);--18bq48t:rgba(255,255,255,1);--1rws71r:rgba(203,213,225,1);--bgens:rgb(0 0 0 / 50%);--wmgie0:rgba(71,85,105,1);--1p3a1ne:rgba(51,65,85,1)}',
    '.\\#1z0w46z :where(a):not(:where(.\\#1mqzbow *)){color:var(--16u5zgg);text-decoration-line:underline;font-weight:500}',
    '.\\#1z0w46z :where(strong):not(:where(.\\#1mqzbow *)){color:var(--bhfl92);font-weight:600}',
    '.\\#1z0w46z :where(a strong,blockquote strong,thead th strong):not(:where(.\\#1mqzbow *)){color:inherit}',
    '.\\#1z0w46z :where(ul):not(:where(.\\#1mqzbow *)){list-style-type:disc}',
    '.\\#1z0w46z :where(ol):not(:where(.\\#1mqzbow *)){list-style-type:decimal}',
    '.\\#1z0w46z :where(ol[type="A"]):not(:where(.\\#1mqzbow *)){list-style-type:upper-alpha}',
    '.\\#1z0w46z :where(ol[type="a"]):not(:where(.\\#1mqzbow *)){list-style-type:lower-alpha}',
    '.\\#1z0w46z :where(ol[type="A" s]):not(:where(.\\#1mqzbow *)){list-style-type:upper-alpha}',
    '.\\#1z0w46z :where(ol[type="a" s]):not(:where(.\\#1mqzbow *)){list-style-type:lower-alpha}',
    '.\\#1z0w46z :where(ol[type="I"]):not(:where(.\\#1mqzbow *)){list-style-type:upper-roman}',
    '.\\#1z0w46z :where(ol[type="i"]):not(:where(.\\#1mqzbow *)){list-style-type:lower-roman}',
    '.\\#1z0w46z :where(ol[type="I" s]):not(:where(.\\#1mqzbow *)){list-style-type:upper-roman}',
    '.\\#1z0w46z :where(ol[type="i" s]):not(:where(.\\#1mqzbow *)){list-style-type:lower-roman}',
    '.\\#1z0w46z :where(ol[type="1"]):not(:where(.\\#1mqzbow *)){list-style-type:decimal}',
    '.\\#1z0w46z :where(ol,ul):not(:where(.\\#1mqzbow *)){margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}',
    '.\\#1z0w46z :where(li):not(:where(.\\#1mqzbow *)){margin-top:.5em;margin-bottom:.5em}',
    '.\\#1z0w46z :where(ol>li):not(:where(.\\#1mqzbow *)),.\\#1z0w46z :where(ul>li):not(:where(.\\#1mqzbow *)){padding-left:.375em}',
    '.\\#1z0w46z>:where(ul>li p):not(:where(.\\#1mqzbow *)){margin-top:.75em;margin-bottom:.75em}',
    '.\\#1z0w46z>:where(ul>li>*:first-child):not(:where(.\\#1mqzbow *)),.\\#1z0w46z>:where(ol>li>*:last-child):not(:where(.\\#1mqzbow *)){margin-top:1.25em}',
    '.\\#1z0w46z>:where(ul>li>*:last-child):not(:where(.\\#1mqzbow *)),.\\#1z0w46z>:where(ol>li>*:last-child):not(:where(.\\#1mqzbow *)){margin-bottom:1.25em}',
    '.\\#1z0w46z :where(ol>li):not(:where(.\\#1mqzbow *))::marker{font-weight:400;color:var(--1kjjz44)}',
    '.\\#1z0w46z :where(ul>li):not(:where(.\\#1mqzbow *))::marker{color:var(--19q2u97)}',
    '.\\#1z0w46z :where(ul ul,ul ol,ol ul,ol ol):not(:where(.\\#1mqzbow *)){margin-top:.75em;margin-bottom:.75em}',
    '.\\#1z0w46z :where(hr):not(:where(.\\#1mqzbow *)){border-color:var(--1qo08gk);border-top-width:1;margin-top:3em;margin-bottom:3em}',
    '.\\#1z0w46z :where(blockquote):not(:where(.\\#1mqzbow *)){margin-top:1.6em;margin-bottom:1.6em;padding-left:1em;font-weight:500;font-style:italic;color:var(--9q388q);border-left-width:0.25rem;border-left-color:var(--1cj85eu);quotes:"\\201C""\\201D""\\2018""\\2019"}',
    '.\\#1z0w46z :where(blockquote p:first-of-type):not(:where(.\\#1mqzbow *))::before{content:open-quote}',
    '.\\#1z0w46z :where(blockquote p:last-of-type):not(:where(.\\#1mqzbow *))::after{content:close-quote}',
    '.\\#1z0w46z :where(p):not(:where(.\\#1mqzbow *)){margin-top:1.25em;margin-bottom:1.25em}',
    '.\\#1z0w46z :where(h1):not(:where(.\\#1mqzbow *)){color:var(--1o5z0xy);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.889em;line-height:1.15}',
    '.\\#1z0w46z :where(h1 strong):not(:where(.\\#1mqzbow *)){font-weight:900;color:inherit}',
    '.\\#1z0w46z :where(h2):not(:where(.\\#1mqzbow *)){color:var(--1o5z0xy);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.35}',
    '.\\#1z0w46z :where(h2 strong):not(:where(.\\#1mqzbow *)){font-weight:800;color:inherit}',
    '.\\#1z0w46z :where(h3):not(:where(.\\#1mqzbow *)){color:var(--1o5z0xy);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}',
    '.\\#1z0w46z :where(h3 strong):not(:where(.\\#1mqzbow *)){font-weight:700;color:inherit}',
    '.\\#1z0w46z :where(h4):not(:where(.\\#1mqzbow *)){color:var(--1o5z0xy);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}',
    '.\\#1z0w46z :where(h4 strong):not(:where(.\\#1mqzbow *)){font-weight:700;color:inherit}',
    '.\\#1z0w46z :where(hr+*,h2+*,h3+*,h4+*):not(:where(.\\#1mqzbow *)){margin-top:0}',
    '.\\#1z0w46z :where(img,video,figure):not(:where(.\\#1mqzbow *)){margin-top:2em;margin-bottom:2em}',
    '.\\#1z0w46z :where(figure>*):not(:where(.\\#1mqzbow *)){margin-top:0;margin-bottom:0}',
    '.\\#1z0w46z :where(figcaption):not(:where(.\\#1mqzbow *)){color:var(--wv6c7n);font-size:.875em;line-height:1.4;margin-top:.857em}',
    '.\\#1z0w46z :where(code):not(:where(.\\#1mqzbow *)){color:var(--15tx0xb);font-weight:600;font-size:.875em}',
    '.\\#1z0w46z :where(code):not(:where(.\\#1mqzbow *))::before,.\\#1z0w46z :where(code):not(:where(.\\#1mqzbow *))::after{content:"`"}',
    '.\\#1z0w46z :where(h2 code):not(:where(.\\#1mqzbow *)){font-size:.875em}',
    '.\\#1z0w46z :where(h3 code):not(:where(.\\#1mqzbow *)){font-size:.9em}',
    '.\\#1z0w46z :where(a code,h1 code,h2 code,h3 code,h4 code,blockquote code,thead th code):not(:where(.\\#1mqzbow *)){color:inherit}',
    '.\\#1z0w46z :where(pre):not(:where(.\\#1mqzbow *)){color:var(--3tpeom);background-color:var(--1y071n0);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7;margin-top:1.714em;margin-bottom:1.714em;border-radius:0.375rem;padding-top:.857em;padding-right:1.143em;padding-bottom:.857em;padding-left:1.143em}',
    '.\\#1z0w46z :where(pre code):not(:where(.\\#1mqzbow *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}',
    '.\\#1z0w46z :where(pre code):not(:where(.\\#1mqzbow *))::before{content:none}',
    '.\\#1z0w46z :where(pre code):not(:where(.\\#1mqzbow *))::after{content:none}',
    '.\\#1z0w46z :where(table):not(:where(.\\#1mqzbow *)){width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7}',
    '.\\#1z0w46z :where(thead):not(:where(.\\#1mqzbow *)){border-bottom-width:1px;border-bottom-color:var(--g4d6f8)}',
    '.\\#1z0w46z :where(thead th):not(:where(.\\#1mqzbow *)){color:var(--1o5z0xy);font-weight:600;vertical-align:bottom;padding-right:.571em;padding-bottom:.571em;padding-left:.571em}',
    '.\\#1z0w46z :where(thead th:first-child):not(:where(.\\#1mqzbow *)){padding-left:0}',
    '.\\#1z0w46z :where(thead th:last-child):not(:where(.\\#1mqzbow *)){padding-right:0}',
    '.\\#1z0w46z :where(tbody tr):not(:where(.\\#1mqzbow *)){border-bottom-width:1px;border-bottom-color:var(--1y60qqm)}',
    '.\\#1z0w46z :where(tbody tr:last-child):not(:where(.\\#1mqzbow *)){border-bottom-width:0}',
    '.\\#1z0w46z :where(tbody td,tfoot td):not(:where(.\\#1mqzbow *)){vertical-align:baseline;padding-top:.571em;padding-right:.571em;padding-bottom:.571em;padding-left:.571em}',
    '.\\#1z0w46z :where(tbody td:first-child):not(:where(.\\#1mqzbow *)),.\\#1z0w46z :where(tfoot td:first-child):not(:where(.\\#1mqzbow *)){padding-left:0}',
    '.\\#1z0w46z :where(tbody td:last-child):not(:where(.\\#1mqzbow *)),.\\#1z0w46z :where(tfoot td:last-child):not(:where(.\\#1mqzbow *)){padding-right:0}',
    '.\\#1z0w46z :where(.\\#ibmvbi):not(:where(.\\#1mqzbow *)){color:var(--folvks);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}',
    '.\\#1z0w46z>:where(:first-child):not(:where(.\\#1mqzbow *)){margin-top:0}',
    '.\\#1z0w46z>:where(:last-child):not(:where(.\\#1mqzbow *)){margin-bottom:0}',
    '.\\#1z0w46z{font-size:1rem;line-height:1.5rem;color:var(--1bua8di);max-width:65ch}',
    '@media (min-width:1024px){.\\#xi8du6{font-size:1.25rem;line-height:1.75rem}}',
    '.\\#1yaucks :is(:where(code):not(:where(.\\#1mqzbow *))){--dxr4o8:1;color:rgba(217,119,6,var(--dxr4o8))}',
    '.\\#1laqzib :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where(.\\#1mqzbow *))){text-decoration-line:underline}',
    '.\\#xcnab7:hover :is(:where(code):not(:where(.\\#1mqzbow *))){--dxr4o8:1;color:rgba(245,158,11,var(--dxr4o8))}',
    '@media (prefers-color-scheme:dark){.\\#hfhb9v{--1bua8di:var(--ljvtqj);--1o5z0xy:var(--74m5do);--folvks:var(--l5ryfb);--16u5zgg:var(--i2q4dp);--bhfl92:var(--1l73e9l);--1kjjz44:var(--92z57j);--19q2u97:var(--nok7ax);--1qo08gk:var(--1c9wukj);--9q388q:var(--rsluvb);--1cj85eu:var(--f6bcam);--wv6c7n:var(--1xcigj9);--15tx0xb:var(--18bq48t);--3tpeom:var(--1rws71r);--1y071n0:var(--bgens);--g4d6f8:var(--wmgie0);--1y60qqm:var(--1p3a1ne)}}',
  ])
})
