*,::before,::after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / 0.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: ;}::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / 0.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: ;}.\[client\:none\]{client:none;}.pointer-events-auto{pointer-events:auto;}.pointer-events-none{pointer-events:none;}.visible{visibility:visible;}.absolute{position:absolute;}.fixed{position:fixed;}.relative{position:relative;}.sticky{position:sticky;}.static{position:static;}.inset-x-0{left:0;right:0;}.-top-px{top:-1px;}.left-0{left:0;}.top-\$navbar-height{top:var(--navbar-height);}.top-0{top:0;}.z-0{z-index:0;}.z-50{z-index:50;}.grid{display:grid;}.m-4{margin:1rem;}.-mx-2{margin-left:-0.5rem;margin-right:-0.5rem;}.\!my-0{margin-top:0 !important;margin-bottom:0 !important;}.mx-0\.5{margin-left:0.125rem;margin-right:0.125rem;}.mx-1{margin-left:0.25rem;margin-right:0.25rem;}.mx-3{margin-left:0.75rem;margin-right:0.75rem;}.mx-auto{margin-left:auto;margin-right:auto;}.my-2{margin-top:0.5rem;margin-bottom:0.5rem;}.my-6{margin-top:1.5rem;margin-bottom:1.5rem;}.-ml-2{margin-left:-0.5rem;}.-mt-1{margin-top:-0.25rem;}.-mt-2{margin-top:-0.5rem;}.-mt-2\.3{margin-top:-0.575rem;}.-mt-3{margin-top:-0.75rem;}.-mt-4\.8{margin-top:-1.2rem;}.mb-1{margin-bottom:0.25rem;}.mb-12{margin-bottom:3rem;}.mb-2{margin-bottom:0.5rem;}.ml-1{margin-left:0.25rem;}.ml-1\.5{margin-left:0.375rem;}.ml-2{margin-left:0.5rem;}.ml-3{margin-left:0.75rem;}.ml-6{margin-left:1.5rem;}.mr-1{margin-right:0.25rem;}.mr-1\.5{margin-right:0.375rem;}.mr-2{margin-right:0.5rem;}.mr-3{margin-right:0.75rem;}.mr-6{margin-right:1.5rem;}.mt-2{margin-top:0.5rem;}.mt-8{margin-top:2rem;}.inline{display:inline;}.block{display:block;}.inline-block{display:inline-block;}.contents{display:contents;}.hidden{display:none;}.h-\$full-viewport{height:var(--full-viewport);}.h-\$navbar-height{height:var(--navbar-height);}.h-10{height:2.5rem;}.h-6{height:1.5rem;}.h-7{height:1.75rem;}.h-9{height:2.25rem;}.h-auto{height:auto;}.h-full{height:100%;}.h1{height:0.25rem;}.h2{height:0.5rem;}.h5{height:1.25rem;}.max-h-64{max-height:16rem;}.max-w-1\/2{max-width:50%;}.max-w-6xl{max-width:72rem;}.max-w-full{max-width:100%;}.min-h-\$full-viewport{min-height:var(--full-viewport);}.min-w-0{min-width:0;}.w-auto{width:auto;}.w-full{width:100%;}.\!max-w-screen-2xl{max-width:1536px !important;}.flex{display:flex;}.inline-flex{display:inline-flex;}.flex-1{flex:1 1 0%;}.flex-col{flex-direction:column;}.-translate-x-full{--un-translate-x:-100%;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}.transform{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}.cursor-pointer{cursor:pointer;}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none;}.place-items-center{place-items:center;}.items-center{align-items:center;}.justify-end{justify-content:flex-end;}.justify-center{justify-content:center;}.justify-between{justify-content:space-between;}.gap-3{gap:0.75rem;}.gap-4{gap:1rem;}.space-y-2>:not([hidden])~:not([hidden]){--un-space-y-reverse:0;margin-top:calc(0.5rem * calc(1 - var(--un-space-y-reverse)));margin-bottom:calc(0.5rem * var(--un-space-y-reverse));}.overflow-hidden{overflow:hidden;}.overflow-y-auto{overflow-y:auto;}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.b,.border{border-width:1px;}.border-b{border-bottom-width:1px;}.border-b-2{border-bottom-width:2px;}.border-l{border-left-width:1px;}.border-r{border-right-width:1px;}.border-t{border-top-width:1px;}.\!border-primary{border-color:var(--fc-primary) !important;}.border-gray-100{--un-border-opacity:1;border-color:rgb(243 244 246 / var(--un-border-opacity));}.dark .dark\:border-dark-400{--un-border-opacity:1;border-color:rgb(34 34 34 / var(--un-border-opacity));}.dark .dark\:border-primary{border-color:var(--fc-primary);}.border-b-primary{border-bottom-color:var(--fc-primary);}.border-b-transparent{border-bottom-color:transparent;}.hover\:border-b-primary:hover{border-bottom-color:var(--fc-primary);}.rounded-lg{border-radius:0.5rem;}.rounded-md{border-radius:0.375rem;}.bg-html{background-color:var(--bg-html) /* var(--bg-html) */;}.bg-light-700{--un-bg-opacity:1;background-color:rgb(233 236 239 / var(--un-bg-opacity)) /* #e9ecef */;}.bg-subtle{background-color:var(--bg-subtle) /* var(--bg-subtle) */;}.bg-warmgray-100{--un-bg-opacity:1;background-color:rgb(245 245 244 / var(--un-bg-opacity)) /* #f5f5f4 */;}.dark .dark\:bg-dark-400{--un-bg-opacity:1;background-color:rgb(34 34 34 / var(--un-bg-opacity)) /* #222222 */;}.dark .dark\:hover\:bg-dark-300:hover{--un-bg-opacity:1;background-color:rgb(45 45 45 / var(--un-bg-opacity)) /* #2d2d2d */;}.hover\:bg-\$bg-highlight:hover{background-color:var(--bg-highlight) /* var(--bg-highlight) */;}.hover\:bg-warmgray-200:hover{--un-bg-opacity:1;background-color:rgb(231 229 228 / var(--un-bg-opacity)) /* #e7e5e4 */;}.dark .dark\:focus\:bg-dark-300:focus{--un-bg-opacity:1;background-color:rgb(45 45 45 / var(--un-bg-opacity)) /* #2d2d2d */;}.focus\:bg-warmgray-200:focus{--un-bg-opacity:1;background-color:rgb(231 229 228 / var(--un-bg-opacity)) /* #e7e5e4 */;}.fill-current{fill:currentColor /* currentColor */;}.fill-intense{fill:var(--fc-intense) /* var(--fc-intense) */;}.stroke-2{stroke-width:2px;}.stroke-current{stroke:currentColor /* currentColor */;}.stroke-intense{stroke:var(--fc-intense) /* var(--fc-intense) */;}.p-2{padding:0.5rem;}.p-4{padding:1rem;}.px-1{padding-left:0.25rem;padding-right:0.25rem;}.px-16{padding-left:4rem;padding-right:4rem;}.px-2{padding-left:0.5rem;padding-right:0.5rem;}.px-3{padding-left:0.75rem;padding-right:0.75rem;}.px-4{padding-left:1rem;padding-right:1rem;}.px-6{padding-left:1.5rem;padding-right:1.5rem;}.py-10{padding-top:2.5rem;padding-bottom:2.5rem;}.py-2{padding-top:0.5rem;padding-bottom:0.5rem;}.py-4{padding-top:1rem;padding-bottom:1rem;}.py-6{padding-top:1.5rem;padding-bottom:1.5rem;}.py-8{padding-top:2rem;padding-bottom:2rem;}.pb-80{padding-bottom:20rem;}.pl-3{padding-left:0.75rem;}.pl-6{padding-left:1.5rem;}.pt-\$navbar-height{padding-top:var(--navbar-height);}.pt-32{padding-top:8rem;}.pt-6{padding-top:1.5rem;}.pt-8vh{padding-top:8vh;}.text-center{text-align:center;}.text-right{text-align:right;}.text-1\.05rem{font-size:1.05rem;}.text-2xl{font-size:1.5rem;line-height:2rem;}.text-3xl{font-size:1.875rem;line-height:2.25rem;}.text-5xl{font-size:3rem;line-height:1;}.text-sm{font-size:0.875rem;line-height:1.25rem;}.text-xl{font-size:1.25rem;line-height:1.75rem;}.text-xs{font-size:0.75rem;line-height:1rem;}.\!text-primary{color:var(--fc-primary) /* var(--fc-primary) */ !important;}.dark .dark\:text-gray-400{--un-text-opacity:1;color:rgb(156 163 175 / var(--un-text-opacity)) /* #9ca3af */;}.dark .dark\:text-primary{color:var(--fc-primary) /* var(--fc-primary) */;}.text-cool-gray-500,.text-gray-500{--un-text-opacity:1;color:rgb(107 114 128 / var(--un-text-opacity)) /* #6b7280 */;}.text-current{color:currentColor /* currentColor */;}.text-gray-600{--un-text-opacity:1;color:rgb(75 85 99 / var(--un-text-opacity)) /* #4b5563 */;}.text-gray-700{--un-text-opacity:1;color:rgb(55 65 81 / var(--un-text-opacity)) /* #374151 */;}.text-intense{color:var(--fc-intense) /* var(--fc-intense) */;}.text-soft{color:var(--fc-soft) /* var(--fc-soft) */;}.text-white{--un-text-opacity:1;color:rgb(255 255 255 / var(--un-text-opacity)) /* #fff */;}.dark .hover\:dark\:text-primary:hover{color:var(--fc-primary) /* var(--fc-primary) */;}.dark .hover\:dark\:text-white:hover{--un-text-opacity:1;color:rgb(255 255 255 / var(--un-text-opacity)) /* #fff */;}.hover\:text-gray-800:hover{--un-text-opacity:1;color:rgb(31 41 55 / var(--un-text-opacity)) /* #1f2937 */;}.hover\:text-primary-soft:hover{color:var(--fc-primary-soft) /* var(--fc-primary-soft) */;}.hover\:text-primary:hover{color:var(--fc-primary) /* var(--fc-primary) */;}.font-black{font-weight:900;}.font-bold{font-weight:700;}.font-medium{font-weight:500;}.font-normal{font-weight:400;}.font-semibold{font-weight:600;}.leading-10{line-height:2.5rem;}.leading-loose{line-height:2;}.leading-normal{line-height:1.5;}.uppercase{text-transform:uppercase;}.hover\:underline:hover{text-decoration-line:underline;}.opacity-0{opacity:0;}.opacity-75{opacity:0.75;}.\!outline{outline-style:solid !important;}.outline{outline-style:solid;}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px;}.filter{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia);}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;}.duration-100{transition-duration:100ms;}.ease{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}@media (max-width: 767.9px){.\<md\:hidden{display:none;}.\<md\:overflow-hidden{overflow:hidden;}}@media (min-width: 640px){.sm\:inline-block{display:inline-block;}.sm\:px-0{padding-left:0;padding-right:0;}.sm\:text-2xl{font-size:1.5rem;line-height:2rem;}.sm\:text-5xl{font-size:3rem;line-height:1;}.sm\:leading-16{line-height:4rem;}}@media (min-width: 768px){.md\:sticky{position:sticky;}.md\:static{position:static;}.md\:top-\$navbar-height{top:var(--navbar-height);}.md\:z-0{z-index:0;}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}.md\:-mx-4{margin-left:-1rem;margin-right:-1rem;}.md\:mb-14{margin-bottom:3.5rem;}.md\:inline{display:inline;}.md\:hidden{display:none;}.md\:h-\$full-viewport{height:var(--full-viewport);}.md\:h-10{height:2.5rem;}.md\:h-64{height:16rem;}.md\:h-8{height:2rem;}.md\:flex{display:flex;}.md\:flex-none{flex:none;}.md\:transform-none{transform:none;}.md\:bg-transparent{background-color:transparent /* transparent */;}.md\:px-3{padding-left:0.75rem;padding-right:0.75rem;}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem;}.md\:px-8{padding-left:2rem;padding-right:2rem;}.md\:text-base{font-size:1rem;line-height:1.5rem;}.md\:font-light{font-weight:300;}}@media (min-width: 1024px){.lg\:min-w-62{min-width:15.5rem;}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem;}.lg\:py-10{padding-top:2.5rem;padding-bottom:2.5rem;}.lg\:pl-0{padding-left:0;}.lg\:pt-10{padding-top:2.5rem;}}@media (min-width: 1280px){.xl\:block{display:block;}}/*
Please read: https://github.com/unocss/unocss/blob/main/packages-presets/reset/tailwind-compat.md
*/

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
2. [UnoCSS]: allow to override the default border color with css var `--un-default-border-color`
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: var(--un-default-border-color, #e5e7eb); /* 2 */
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS.
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button; /* 1 */
  /* Will affect the button style of most component libraries, so disable it */
  /* https://github.com/unocss/unocss/issues/2127 */
  /* background-color: transparent; !* 2 *! */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

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

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

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

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

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

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

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

/*
Set the default cursor for buttons.
*/

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

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

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

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

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

/*
Make elements with the HTML hidden attribute stay hidden by default.
*/

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
:root {
  /* https://github.com/unocss/unocss/blob/main/packages/reset/tailwind.md */
  --un-default-border-color: var(--br-normal);
  --navbar-height: 3.5rem;
  --footer-height: 172px;
  --full-viewport: calc(100vh - var(--navbar-height));
  --br-normal: rgba(126, 135, 160, 0.15);
  --bg-html: #fff;
  --bg-scrollbar-track: var(--bg-highlight);
  --bg-scrollbar-thumb: var(--bg-soft);
  --bg-scrollbar-thumb-hover: var(--bg-primary);
  --bg-highlight: rgba(126, 185, 220, 0.15);
  --bg-primary: var(--fc-primary-soft);
  --bg-soft: rgba(126, 185, 220, 0.35);
  --bg-subtle: #f9fafb;
  --fc-softer: #9ca3af;
  --fc-soft: #6b7280;
  --fc: #374151;
  --fc-hard: #1f2937;
  --fc-intense: #111827;
  --fc-primary-soft: #0ea5e9;
  --fc-primary: #0284c7;
  --fc-primary-intense: #0369a1;
  --w-container: 1376px;
}

@media (min-width: 768px){
  :root {
    --navbar-height: 3.75rem;
  }
}

html.dark {
  --bg-html: #1c1917;
  --br-normal: rgba(226, 235, 255, 0.15);
  --bg-soft: rgba(195, 185, 185, 0.15);
  --fc-softer: #78716c;
  --fc-soft: #78716c;
  --fc: #d6d3d1;
  --fc-hard: #e7e5e4;
  --fc-intense: #f5f5f4;
  --fc-primary-soft: #0ea5e9;
  --fc-primary-intense: #0ea5e9;

  color-scheme: dark
}

.website-logo {
  transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;transition-duration:400ms;
}.website-logo:hover{--un-scale-x:1.1;--un-scale-y:1.1;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}

.section-title {
  margin-top:2rem;margin-bottom:2rem;font-size:1.875rem;line-height:2.25rem;color:var(--fc-hard) /* var(--fc-hard) */;font-weight:800;line-height:1.25;
}@media (min-width: 640px){.section-title{font-size:2.25rem;line-height:2.5rem;}}@media (min-width: 768px){.section-title{font-size:3rem;line-height:1;}}

.layout {
  margin-left:auto;margin-right:auto;margin-top:2rem;margin-bottom:2rem;padding-left:2rem;padding-right:2rem;

  max-width: calc(var(--w-container) + 15vw);
}

.container {
  margin: 0 auto;
  max-width: var(--w-container);
}

.hoverable {
  transition: background 80ms ease;
}

.hoverable.active,
  .hoverable:hover {
    background: var(--bg-highlight);
  }

.transition-bg {
  transition: background 0.3s ease;
}

h1,
h2,
h3,
h4,
a,
p {
  transition: color .5s,background-color .5s
}

html {
  background-color: var(--bg-html);
  color: var(--fc);
  line-height: 1.6;
  letter-spacing: .2px;
}

body {
  overflow-y: scroll;
}

svg {
  height: inherit;
  width: inherit;
}

img {
  -o-object-fit: cover;
     object-fit: cover;
  vertical-align: middle;
}

strong {
  font-weight: 600;
}

blockquote {
  background-color: var(--bg-highlight);
  color: var(--fc-intense);
  position: relative;
}

blockquote::before {
    border-left: 0.4rem solid var(--bg-primary);
    bottom: 0;
    content: '';
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
  }

kbd {
  background-color: var(--h-background);
  border: 1px solid var(--br-normal);
  border-radius: 6px;
  box-shadow: inset 0 -1px 0 var(--br-normal);
  box-sizing: border-box;
  display: inline-block;
  font-size: 0.9rem;
  line-height: 10px;
  padding: 5px;
}

iframe {
  border-radius: inherit;
}

::-moz-selection {
  background: var(--bg-soft);
}

::selection {
  background: var(--bg-soft);
}

@media (min-width: 500px) {
  .sticky {
    --bg-scrollbar-track: transparent;
    --bg-scrollbar-thumb: var(--bg-highlight);
  }

  ::-webkit-scrollbar {
    background: var(--bg-scrollbar-track);
    height: 15px;
    width: 15px;
  }@media (min-width: 768px){pre::-webkit-scrollbar:horizontal{border-bottom-left-radius:0.375rem;border-bottom-right-radius:0.375rem;}}

  ::-webkit-scrollbar-thumb {
    border-radius:9999px;

    background-clip: content-box;
    background-color: var(--bg-scrollbar-thumb);
    border: 3px solid transparent;
  }

  ::-webkit-scrollbar-thumb:hover {
    background-color: var(--bg-scrollbar-thumb-hover);
  }
}

#navbar-actions {
  height: 100%;
  width: 80px;
}

.navbar {
  /* https://unocss.dev/presets/wind#bracket-syntax-spaces */
  grid-template-columns:min-content 1fr min-content;gap:1rem;padding:1rem;

  max-width: calc(6rem + var(--w-container) + (100vw - var(--w-container)) / 2);
}@media (min-width: 640px){.navbar{padding-top:2rem;padding-bottom:2rem;font-size:1.125rem;line-height:1.75rem;}}@media (min-width: 1024px){.navbar{padding-top:3rem;padding-bottom:3rem;}}

.navbar-menu {
  margin-left:auto;height:2rem;place-items:center;line-height:1.25rem;
}

.navbar-menu > li + li,
  .navbar-menu + div,
  .navbar-menu + ile-root > div {
    margin-left:1rem;
  }@media (min-width: 1024px){.navbar-menu>li+li,.navbar-menu+div,.navbar-menu+ile-root>div{margin-left:2rem;}}

.navbar-menu-item {
  margin-top:-0.125rem;
}

.navbar-menu-item > a {

    transition: opacity 80ms ease, border-color 80ms ease;
    border-color:transparent;padding-top:0.25rem;opacity:0.8;
  }

.navbar-menu-item > a:hover,
    .navbar-menu-item > a:active,
    .navbar-menu-item > a.active {
      border-color:var(--fc-primary);opacity:1;
    }

.navbar-actions {
  gap:0.5rem;
}

:root {
  /* Colors */
  --h-background: #fbfbfb;
  --h-foreground: #393a34;

  /* Tokens */
  --h-boolean: #1c6b48;
  --h-builtin: #ab5959;
  --h-class: #795da3;
  --h-comment: #a0ada0;
  --h-constant: #2993a3;
  --h-decorator: #bd8f8f;
  --h-deleted: #a14f55;
  --h-function: #795da3;
  --h-keyword: #a71d5d;
  --h-literal: #2f8a89;
  --h-namespace: #b05a78;
  --h-number: #296aa3;
  --h-property: #b58451;
  --h-punctuation: #a71d5d;
  --h-regex: #ab5e3f;
  --h-string: #b56959;
  --h-operator: var(--h-punctuation);
  --h-variable: var(--h-literal);
  --h-symbol: var(--h-literal);
  --h-interpolation: var(--h-literal);
  --h-selector: var(--h-keyword);
  --h-keyword-control: var(--h-keyword);
}

html.dark {
  --h-foreground: #d4cfbf;
  --h-background: #1e1e1e;
  --h-boolean: #1c6b48;
  --h-builtin: #e0a569;
  --h-class: #54b1bf;
  --h-comment: #758575;
  --h-constant: var(--h-literal);
  --h-decorator: #bd8f8f;
  --h-deleted: #a14f55;
  --h-function: #67b1b5;
  --h-keyword: #e3428c;
  --h-literal: #429988;
  --h-namespace: #db889a;
  --h-number: #6394bf;
  --h-property: #dd8e6e;
  --h-punctuation: #858585;
  --h-regex: #ab5e3f;
  --h-string: #d48372;
  --h-variable: #c2b36e;
}

div[class*='language-'] {
  background: var(--h-background);
  border-radius: 0.2rem;
  color: var(--h-foreground);
  font-size: 14px;
  -webkit-hyphens: none;
          hyphens: none;
  line-height: 1.6em;
  overflow: auto;
  position: relative;
  padding-left: 0;
  padding-right: 0;
  -moz-tab-size: 2;
    -o-tab-size: 2;
       tab-size: 2;
  white-space: pre;
  word-break: normal;
  word-spacing: normal;
}

pre[class*='language-'] {
  position: relative; /* position it to allow text selection */
  overflow: auto;
}

pre.line-highlight,
pre.line-numbers {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  width: 100%;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  overflow: hidden;
}

.line-highlight > .highlighted {
  background: var(--bg-highlight);
}

div[class*='language-']:before {
  content: attr(data-lang);
  color: var(--fc-softer);
  font-size: 0.8rem;
  position: absolute;
  right: 0.8em;
  top: 0.4em;
}

/* Selection */

* ::-moz-selection {
  background: var(--bg-highlight);
}

* ::selection {
  background: var(--bg-highlight);
}

/* Tokens */

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
  color: var(--h-comment);
  font-style: var(--h-comment-style);
}

.token.namespace {
  color: var(--h-namespace);
}

.token.interpolation {
  color: var(--h-interpolation);
}

.token.string {
  color: var(--h-string);
}

.token.punctuation {
  color: var(--h-punctuation);
}

.token.operator {
  color: var(--h-operator);
}

.token.keyword.module,
.token.keyword.control-flow {
  color: var(--h-keyword-control);
}

.token.url,
.token.symbol,
.token.inserted {
  color: var(--h-symbol);
}

.token.constant {
  color: var(--h-constant);
}

.token.string.url {
  -webkit-text-decoration: var(--h-url-decoration);
          text-decoration: var(--h-url-decoration);
}

.token.boolean,
.language-json .token.boolean {
  color: var(--h-boolean);
}

.token.number,
.language-json .token.number {
  color: var(--h-number);
}

.token.variable {
  color: var(--h-variable);
}

.token.keyword {
  color: var(--h-keyword);
}

.token.atrule,
.token.attr-value,
.token.selector {
  color: var(--h-selector);
}

.token.function {
  color: var(--h-function);
}

.token.deleted {
  color: var(--h-deleted);
}

.token.important,
.token.bold {
  font-weight: bold;
}

.token.italic {
  font-style: italic;
}

.token.class-name {
  color: var(--h-class);
}

.token.tag,
.token.builtin {
  color: var(--h-builtin);
}

.token.attr-name,
.token.property,
.token.entity {
  color: var(--h-property);
}

.language-json .token.property {
  color: var(--h-json-property);
}

.token.regex {
  color: var(--h-regex);
}

.token.decorator,
.token.annotation {
  color: var(--h-decorator);
}

/* overrides color-values for the Line Numbers plugin
 * http://prismjs.com/plugins/line-numbers/
 */

.line-numbers .line-numbers-rows {
  border-right-color: var(--h-line-number);
}

.line-numbers-rows > span:before {
  color: var(--h-line-number-gutter);
}

/* overrides color-values for the Line Highlight plugin
  * http://prismjs.com/plugins/line-highlight/
  */

.line-highlight {
  background: var(--h-line-highlight-background);
}

:root {
  --prose-padding: 1.5rem;
  --prose-width: min(750px, 100%);
}

.prose > *,
.prose > div[class*='language-'] > pre,
.page-footer {
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--prose-padding);
  padding-right: var(--prose-padding);
  width: var(--prose-width);
}

.prose {
  line-height: 1.75;
}

.prose a {
    color: var(--fc-intense);
    text-decoration: underline;
    text-decoration-color: var(--fc-soft);
    transition: color 80ms ease;
  }

.prose a:hover,
    .prose a:active {
      color: var(--fc-primary-soft);
      text-decoration-color: var(--fc-primary-soft);
    }

.prose ul > li {
    padding-left: 1.75em;
    position: relative;
  }

.prose ul > li::before {
    background-color: var(--bg-primary);
    border-radius: 50%;
    content: "";
    height: 0.375em;
    left: 0.25em;
    position: absolute;
    top: 0.75em;
    width: 0.375em;
  }

.prose figure {
    margin-top: 2em;
    margin-bottom: 1.5em;
  }

.prose hr {
    margin-top: 3em;
    margin-bottom: 3em;
  }

.prose h1 {
    margin-bottom: 2rem;
    font-size: 38px;
    line-height: 1.4;
    letter-spacing: -.02em;
    font-weight: 700;
  }

.prose h2 {
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.3333333;
    margin-bottom: 1em;
    margin-top: 1.8em;
  }

.prose h3 {
    font-size: 1.25em;
    font-weight: 600;
    line-height: 1.6;
    margin-bottom: 0.6em;
    margin-top: 1.6em;
  }

.prose h4 {
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 0.5em;
    margin-top: 1.5em;
  }

.prose p,
  .prose blockquote,
  .prose div[class*='language-'] {
    margin-bottom: 1.25em;
    margin-top: 1.25em;
  }

.prose blockquote p {
    margin: 0;
  }

.prose p code,
  .prose li code {
    border-radius:0.25rem;

    background-color: var(--bg-highlight);
    font-size: 0.9em;
    padding: 0.1em 0.3em 0.2em;
  }

.prose .heading + :not(.heading) {
    margin-top: 0;
  }

.prose .img {
    display: block;
    padding: 0;
    margin-top:2.5rem;margin-bottom:2.5rem;
  }

.prose .img.narrow {
      width: min(500px, 100%);
    }

.prose .caption {
    display: block;
    font-style: italic;
    margin-top: -1rem;
    margin-bottom: 2rem;
    text-align: center;
  }

.prose .code.caption {
    margin-top: -1rem;
    margin-bottom: 2rem;
  }

.prose .code.caption > code {
      background: none;
      font-style: italic;
    }

.prose blockquote,
  .prose div[class*='language-'] pre {
    padding-top:1rem;padding-bottom:1rem;
  }@media (min-width: 768px){.prose figure,.prose .img{border-radius:0.375rem;}}

.prose blockquote {
    padding-top:1.5rem;padding-bottom:1.5rem;
  }@media (min-width: 768px){.prose blockquote{border-top-right-radius:0.375rem;border-bottom-right-radius:0.375rem;}}

.prose blockquote p + p {
    margin-top: 1rem;
  }

a.heading-anchor {
  float: left;
  margin-top: .125em;
  margin-left: -.87em;
  padding-right: .23em;
  font-size: .85em;
  opacity: 0;
  text-decoration: none!important;
  color:var(--fc-primary) /* var(--fc-primary) */;
}

a.heading-anchor::before {
    content: '#';
  }

.heading::before {
    --offset: calc(var(--navbar-height) + 1rem);
    display: block;
    content: " ";
    margin-top: calc(var(--offset) * -1);
    height: var(--offset);
    visibility: hidden;
    pointer-events: none;
  }

.heading:focus a.heading-anchor, .heading:hover a.heading-anchor {
      opacity: 1;
    }
