@import"https://fonts.googleapis.com/css2?family=Lalezar&family=Markazi+Text:wght@400;500;600;700&family=Vazirmatn:wght@300;400;500;700;800&display=swap";

html,
body {
    height: 100%
}

body {
    margin: 0
}

#root {
    height: 100dvh;
    overflow: auto
}

*,
::before,
::after {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style: ;
}

::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style: ;
}

/*
! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com
*/
/*
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)
*/

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

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

/*
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 */
    tab-size: 4;
    /* 3 */
    font-family: var(--font-sans, ui-sans-serif), ui-sans-serif, system-ui, sans-serif;
    /* 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]) {
    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 */
    letter-spacing: 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,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
    -webkit-appearance: button;
    /* 1 */
    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 and border 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;
}

/*
Reset default styling for dialogs.
*/
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::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;
}

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

.container {
    width: 100%;
}

@media (min-width: 640px) {

    .\!container {
        max-width: 640px !important;
    }

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

@media (min-width: 768px) {

    .\!container {
        max-width: 768px !important;
    }

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

@media (min-width: 1024px) {

    .\!container {
        max-width: 1024px !important;
    }

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

@media (min-width: 1280px) {

    .\!container {
        max-width: 1280px !important;
    }

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

@media (min-width: 1536px) {

    .\!container {
        max-width: 1536px !important;
    }

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

.prose {
    color: var(--tw-prose-body);
    max-width: 65ch;
}

.prose :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
}

.prose :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;
}

.prose :where(a):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-links);
    text-decoration: underline;
    font-weight: 500;
}

.prose :where(strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-bold);
    font-weight: 600;
}

.prose :where(a strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: inherit;
}

.prose :where(blockquote strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: inherit;
}

.prose :where(thead th strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: inherit;
}

.prose :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;
}

.prose :where(ol[type="A"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    list-style-type: upper-alpha;
}

.prose :where(ol[type="a"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    list-style-type: lower-alpha;
}

.prose :where(ol[type="A" s]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    list-style-type: upper-alpha;
}

.prose :where(ol[type="a" s]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    list-style-type: lower-alpha;
}

.prose :where(ol[type="I"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    list-style-type: upper-roman;
}

.prose :where(ol[type="i"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    list-style-type: lower-roman;
}

.prose :where(ol[type="I" s]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    list-style-type: upper-roman;
}

.prose :where(ol[type="i" s]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    list-style-type: lower-roman;
}

.prose :where(ol[type="1"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    list-style-type: decimal;
}

.prose :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;
}

.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker {
    font-weight: 400;
    color: var(--tw-prose-counters);
}

.prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker {
    color: var(--tw-prose-bullets);
}

.prose :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-headings);
    font-weight: 600;
    margin-top: 1.25em;
}

.prose :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;
}

.prose :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;
}

.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::before {
    content: open-quote;
}

.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::after {
    content: close-quote;
}

.prose :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;
}

.prose :where(h1 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    font-weight: 900;
    color: inherit;
}

.prose :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;
}

.prose :where(h2 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    font-weight: 800;
    color: inherit;
}

.prose :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;
}

.prose :where(h3 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    font-weight: 700;
    color: inherit;
}

.prose :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;
}

.prose :where(h4 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    font-weight: 700;
    color: inherit;
}

.prose :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 2em;
    margin-bottom: 2em;
}

.prose :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    display: block;
    margin-top: 2em;
    margin-bottom: 2em;
}

.prose :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 2em;
    margin-bottom: 2em;
}

.prose :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;
}

.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-code);
    font-weight: 600;
    font-size: 0.875em;
}

.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before {
    content: "`";
}

.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after {
    content: "`";
}

.prose :where(a code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: inherit;
}

.prose :where(h1 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: inherit;
}

.prose :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: inherit;
    font-size: 0.875em;
}

.prose :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: inherit;
    font-size: 0.9em;
}

.prose :where(h4 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: inherit;
}

.prose :where(blockquote code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: inherit;
}

.prose :where(thead th code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: inherit;
}

.prose :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    color: var(--tw-prose-pre-code);
    background-color: var(--tw-prose-pre-bg);
    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;
}

.prose :where(pre code):not(:where([class~="not-prose"], [class~="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([class~="not-prose"], [class~="not-prose"] *))::before {
    content: none;
}

.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after {
    content: none;
}

.prose :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;
}

.prose :where(thead):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    border-bottom-width: 1px;
    border-bottom-color: var(--tw-prose-th-borders);
}

.prose :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;
}

.prose :where(tbody tr):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    border-bottom-width: 1px;
    border-bottom-color: var(--tw-prose-td-borders);
}

.prose :where(tbody tr:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    border-bottom-width: 0;
}

.prose :where(tbody td):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    vertical-align: baseline;
}

.prose :where(tfoot):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    border-top-width: 1px;
    border-top-color: var(--tw-prose-th-borders);
}

.prose :where(tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    vertical-align: top;
}

.prose :where(th, td):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    text-align: start;
}

.prose :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0;
    margin-bottom: 0;
}

.prose :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;
}

.prose {
    --tw-prose-body: #374151;
    --tw-prose-headings: #111827;
    --tw-prose-lead: #4b5563;
    --tw-prose-links: #111827;
    --tw-prose-bold: #111827;
    --tw-prose-counters: #6b7280;
    --tw-prose-bullets: #d1d5db;
    --tw-prose-hr: #e5e7eb;
    --tw-prose-quotes: #111827;
    --tw-prose-quote-borders: #e5e7eb;
    --tw-prose-captions: #6b7280;
    --tw-prose-kbd: #111827;
    --tw-prose-kbd-shadows: rgb(17 24 39 / 10%);
    --tw-prose-code: #111827;
    --tw-prose-pre-code: #e5e7eb;
    --tw-prose-pre-bg: #1f2937;
    --tw-prose-th-borders: #d1d5db;
    --tw-prose-td-borders: #e5e7eb;
    --tw-prose-invert-body: #d1d5db;
    --tw-prose-invert-headings: #fff;
    --tw-prose-invert-lead: #9ca3af;
    --tw-prose-invert-links: #fff;
    --tw-prose-invert-bold: #fff;
    --tw-prose-invert-counters: #9ca3af;
    --tw-prose-invert-bullets: #4b5563;
    --tw-prose-invert-hr: #374151;
    --tw-prose-invert-quotes: #f3f4f6;
    --tw-prose-invert-quote-borders: #374151;
    --tw-prose-invert-captions: #9ca3af;
    --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: #d1d5db;
    --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
    --tw-prose-invert-th-borders: #4b5563;
    --tw-prose-invert-td-borders: #374151;
    font-size: 1rem;
    line-height: 1.75;
}

.prose :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0;
    margin-bottom: 0;
}

.prose :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    padding-inline-start: 0.375em;
}

.prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    padding-inline-start: 0.375em;
}

.prose :where(.prose > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0.75em;
    margin-bottom: 0.75em;
}

.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 1.25em;
}

.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-bottom: 1.25em;
}

.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 1.25em;
}

.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-bottom: 1.25em;
}

.prose :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;
}

.prose :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
}

.prose :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0.5em;
    padding-inline-start: 1.625em;
}

.prose :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0;
}

.prose :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0;
}

.prose :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0;
}

.prose :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0;
}

.prose :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    padding-inline-start: 0;
}

.prose :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    padding-inline-end: 0;
}

.prose :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;
}

.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    padding-inline-start: 0;
}

.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    padding-inline-end: 0;
}

.prose :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 2em;
    margin-bottom: 2em;
}

.prose :where(.prose > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0;
}

.prose :where(.prose > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-bottom: 0;
}

.prose-sm {
    font-size: 0.875rem;
    line-height: 1.7142857;
}

.prose-sm :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 1.1428571em;
    margin-bottom: 1.1428571em;
}

.prose-sm :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    font-size: 1.2857143em;
    line-height: 1.5555556;
    margin-top: 0.8888889em;
    margin-bottom: 0.8888889em;
}

.prose-sm :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 1.3333333em;
    margin-bottom: 1.3333333em;
    padding-inline-start: 1.1111111em;
}

.prose-sm :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    font-size: 2.1428571em;
    margin-top: 0;
    margin-bottom: 0.8em;
    line-height: 1.2;
}

.prose-sm :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    font-size: 1.4285714em;
    margin-top: 1.6em;
    margin-bottom: 0.8em;
    line-height: 1.4;
}

.prose-sm :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    font-size: 1.2857143em;
    margin-top: 1.5555556em;
    margin-bottom: 0.4444444em;
    line-height: 1.5555556;
}

.prose-sm :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 1.4285714em;
    margin-bottom: 0.5714286em;
    line-height: 1.4285714;
}

.prose-sm :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 1.7142857em;
    margin-bottom: 1.7142857em;
}

.prose-sm :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 1.7142857em;
    margin-bottom: 1.7142857em;
}

.prose-sm :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0;
    margin-bottom: 0;
}

.prose-sm :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 1.7142857em;
    margin-bottom: 1.7142857em;
}

.prose-sm :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    font-size: 0.8571429em;
    border-radius: 0.3125rem;
    padding-top: 0.1428571em;
    padding-inline-end: 0.3571429em;
    padding-bottom: 0.1428571em;
    padding-inline-start: 0.3571429em;
}

.prose-sm :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    font-size: 0.8571429em;
}

.prose-sm :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    font-size: 0.9em;
}

.prose-sm :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    font-size: 0.8888889em;
}

.prose-sm :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    font-size: 0.8571429em;
    line-height: 1.6666667;
    margin-top: 1.6666667em;
    margin-bottom: 1.6666667em;
    border-radius: 0.25rem;
    padding-top: 0.6666667em;
    padding-inline-end: 1em;
    padding-bottom: 0.6666667em;
    padding-inline-start: 1em;
}

.prose-sm :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 1.1428571em;
    margin-bottom: 1.1428571em;
    padding-inline-start: 1.5714286em;
}

.prose-sm :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 1.1428571em;
    margin-bottom: 1.1428571em;
    padding-inline-start: 1.5714286em;
}

.prose-sm :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0.2857143em;
    margin-bottom: 0.2857143em;
}

.prose-sm :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    padding-inline-start: 0.4285714em;
}

.prose-sm :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    padding-inline-start: 0.4285714em;
}

.prose-sm :where(.prose-sm > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0.5714286em;
    margin-bottom: 0.5714286em;
}

.prose-sm :where(.prose-sm > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 1.1428571em;
}

.prose-sm :where(.prose-sm > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-bottom: 1.1428571em;
}

.prose-sm :where(.prose-sm > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 1.1428571em;
}

.prose-sm :where(.prose-sm > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-bottom: 1.1428571em;
}

.prose-sm :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0.5714286em;
    margin-bottom: 0.5714286em;
}

.prose-sm :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 1.1428571em;
    margin-bottom: 1.1428571em;
}

.prose-sm :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 1.1428571em;
}

.prose-sm :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0.2857143em;
    padding-inline-start: 1.5714286em;
}

.prose-sm :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 2.8571429em;
    margin-bottom: 2.8571429em;
}

.prose-sm :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0;
}

.prose-sm :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0;
}

.prose-sm :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0;
}

.prose-sm :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0;
}

.prose-sm :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    font-size: 0.8571429em;
    line-height: 1.5;
}

.prose-sm :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    padding-inline-end: 1em;
    padding-bottom: 0.6666667em;
    padding-inline-start: 1em;
}

.prose-sm :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    padding-inline-start: 0;
}

.prose-sm :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    padding-inline-end: 0;
}

.prose-sm :where(tbody td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    padding-top: 0.6666667em;
    padding-inline-end: 1em;
    padding-bottom: 0.6666667em;
    padding-inline-start: 1em;
}

.prose-sm :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    padding-inline-start: 0;
}

.prose-sm :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    padding-inline-end: 0;
}

.prose-sm :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 1.7142857em;
    margin-bottom: 1.7142857em;
}

.prose-sm :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0;
    margin-bottom: 0;
}

.prose-sm :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    font-size: 0.8571429em;
    line-height: 1.3333333;
    margin-top: 0.6666667em;
}

.prose-sm :where(.prose-sm > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-top: 0;
}

.prose-sm :where(.prose-sm > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
    margin-bottom: 0;
}

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

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

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

.\!visible {
    visibility: visible !important;
}

.visible {
    visibility: visible;
}

.invisible {
    visibility: hidden;
}

.collapse {
    visibility: collapse;
}

.static {
    position: static;
}

.fixed {
    position: fixed;
}

.absolute {
    position: absolute;
}

.relative {
    position: relative;
}

.inset-0 {
    inset: 0px;
}

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

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

.-bottom-12 {
    bottom: -3rem;
}

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

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

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

.bottom-0 {
    bottom: 0px;
}

.left-0 {
    left: 0px;
}

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

.left-2 {
    left: 0.5rem;
}

.left-\[-1\.25em\] {
    left: -1.25em;
}

.left-\[1em\] {
    left: 1em;
}

.left-\[50\%\] {
    left: 50%;
}

.right-0 {
    right: 0px;
}

.right-1 {
    right: 0.25rem;
}

.right-2 {
    right: 0.5rem;
}

.right-3 {
    right: 0.75rem;
}

.right-4 {
    right: 1rem;
}

.top-0 {
    top: 0px;
}

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

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

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

.top-4 {
    top: 1rem;
}

.top-\[-1\.25em\] {
    top: -1.25em;
}

.top-\[-3em\] {
    top: -3em;
}

.top-\[1\.5em\] {
    top: 1.5em;
}

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

.top-\[50\%\] {
    top: 50%;
}

.top-\[60\%\] {
    top: 60%;
}

.top-full {
    top: 100%;
}

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

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

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

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

.order-first {
    order: -9999;
}

.order-last {
    order: 9999;
}

.\!m-0 {
    margin: 0px !important;
}

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

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

.mx-2 {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}

.mx-3\.5 {
    margin-left: 0.875rem;
    margin-right: 0.875rem;
}

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

.my-0 {
    margin-top: 0px;
    margin-bottom: 0px;
}

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

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

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

.-ml-\[0\.225em\] {
    margin-left: -0.225em;
}

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

.-mt-\[0\.225em\] {
    margin-top: -0.225em;
}

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

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

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

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

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

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

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

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

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

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

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

.mt-\[0\.3em\] {
    margin-top: 0.3em;
}

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

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

.block {
    display: block;
}

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

.inline {
    display: inline;
}

.flex {
    display: flex;
}

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

.table {
    display: table;
}

.grid {
    display: grid;
}

.contents {
    display: contents;
}

.hidden {
    display: none;
}

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

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

.size-10 {
    width: 2.5rem;
    height: 2.5rem;
}

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

.size-3\.5 {
    width: 0.875rem;
    height: 0.875rem;
}

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

.size-6 {
    width: 1.5rem;
    height: 1.5rem;
}

.size-8 {
    width: 2rem;
    height: 2rem;
}

.size-\[--cell-size\] {
    width: var(--cell-size);
    height: var(--cell-size);
}

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

.h-10 {
    height: 2.5rem;
}

.h-12 {
    height: 3rem;
}

.h-2 {
    height: 0.5rem;
}

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

.h-3 {
    height: 0.75rem;
}

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

.h-4 {
    height: 1rem;
}

.h-5 {
    height: 1.25rem;
}

.h-6 {
    height: 1.5rem;
}

.h-7 {
    height: 1.75rem;
}

.h-8 {
    height: 2rem;
}

.h-9 {
    height: 2.25rem;
}

.h-\[--cell-size\] {
    height: var(--cell-size);
}

.h-\[0\.45em\] {
    height: 0.45em;
}

.h-\[1\.25em\] {
    height: 1.25em;
}

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

.h-\[2\.5em\] {
    height: 2.5em;
}

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

.h-\[var\(--radix-navigation-menu-viewport-height\)\] {
    height: var(--radix-navigation-menu-viewport-height);
}

.h-\[var\(--radix-select-trigger-height\)\] {
    height: var(--radix-select-trigger-height);
}

.h-auto {
    height: auto;
}

.h-full {
    height: 100%;
}

.h-px {
    height: 1px;
}

.h-svh {
    height: 100svh;
}

.max-h-\[--radix-context-menu-content-available-height\] {
    max-height: var(--radix-context-menu-content-available-height);
}

.max-h-\[--radix-select-content-available-height\] {
    max-height: var(--radix-select-content-available-height);
}

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

.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\] {
    max-height: var(--radix-dropdown-menu-content-available-height);
}

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

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

.min-h-svh {
    min-height: 100svh;
}

.w-0 {
    width: 0px;
}

.w-1 {
    width: 0.25rem;
}

.w-10 {
    width: 2.5rem;
}

.w-2 {
    width: 0.5rem;
}

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

.w-24 {
    width: 6rem;
}

.w-3 {
    width: 0.75rem;
}

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

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

.w-4 {
    width: 1rem;
}

.w-5 {
    width: 1.25rem;
}

.w-64 {
    width: 16rem;
}

.w-7 {
    width: 1.75rem;
}

.w-72 {
    width: 18rem;
}

.w-8 {
    width: 2rem;
}

.w-9 {
    width: 2.25rem;
}

.w-\[--cell-size\] {
    width: var(--cell-size);
}

.w-\[--sidebar-width\] {
    width: var(--sidebar-width);
}

.w-\[0\.45em\] {
    width: 0.45em;
}

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

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

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

.w-auto {
    width: auto;
}

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

.w-full {
    width: 100%;
}

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

.w-px {
    width: 1px;
}

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

.min-w-10 {
    min-width: 2.5rem;
}

.min-w-5 {
    min-width: 1.25rem;
}

.min-w-8 {
    min-width: 2rem;
}

.min-w-9 {
    min-width: 2.25rem;
}

.min-w-\[--cell-size\] {
    min-width: var(--cell-size);
}

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

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

.min-w-\[var\(--radix-select-trigger-width\)\] {
    min-width: var(--radix-select-trigger-width);
}

.max-w-\[--skeleton-width\] {
    max-width: var(--skeleton-width);
}

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

.max-w-lg {
    max-width: 32rem;
}

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

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

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

.flex-1 {
    flex: 1 1 0%;
}

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

.grow {
    flex-grow: 1;
}

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

.basis-full {
    flex-basis: 100%;
}

.caption-bottom {
    caption-side: bottom;
}

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

.origin-\[--radix-context-menu-content-transform-origin\] {
    transform-origin: var(--radix-context-menu-content-transform-origin);
}

.origin-\[--radix-dropdown-menu-content-transform-origin\] {
    transform-origin: var(--radix-dropdown-menu-content-transform-origin);
}

.origin-\[--radix-hover-card-content-transform-origin\] {
    transform-origin: var(--radix-hover-card-content-transform-origin);
}

.origin-\[--radix-menubar-content-transform-origin\] {
    transform-origin: var(--radix-menubar-content-transform-origin);
}

.origin-\[--radix-popover-content-transform-origin\] {
    transform-origin: var(--radix-popover-content-transform-origin);
}

.origin-\[--radix-select-content-transform-origin\] {
    transform-origin: var(--radix-select-content-transform-origin);
}

.origin-\[--radix-tooltip-content-transform-origin\] {
    transform-origin: var(--radix-tooltip-content-transform-origin);
}

.origin-\[-1em_-1\.5em\] {
    transform-origin: -1em -1.5em;
}

.origin-bottom {
    transform-origin: bottom;
}

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

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

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

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

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

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

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

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

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

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

.animate-\[caret-blink_1\.25s_ease-out_infinite\] {
    animation: caret-blink 1.25s ease-out infinite;
}

@keyframes pulse {

    50% {
        opacity: .5;
    }
}

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

@keyframes spin {

    to {
        transform: rotate(360deg);
    }
}

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

.cursor-default {
    cursor: default;
}

.cursor-pointer {
    cursor: pointer;
}

.cursor-text {
    cursor: text;
}

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

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

.resize-none {
    resize: none;
}

.resize {
    resize: both;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.gap-1 {
    gap: 0.25rem;
}

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

.gap-2 {
    gap: 0.5rem;
}

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

.gap-3 {
    gap: 0.75rem;
}

.gap-4 {
    gap: 1rem;
}

.gap-6 {
    gap: 1.5rem;
}

.gap-7 {
    gap: 1.75rem;
}

.gap-\[0\.1em\] {
    gap: 0.1em;
}

.space-x-1> :not([hidden])~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(0.25rem * var(--tw-space-x-reverse));
    margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
}

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

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

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

.overflow-auto {
    overflow: auto;
}

.overflow-hidden {
    overflow: hidden;
}

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

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

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

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

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

.text-balance {
    text-wrap: balance;
}

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

.rounded-\[0\.3em\] {
    border-radius: 0.3em;
}

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

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

.rounded-\[calc\(var\(--radius\)-5px\)\] {
    border-radius: calc(var(--radius) - 5px);
}

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

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

.rounded-lg {
    border-radius: var(--radius, 0.5rem);
}

.rounded-md {
    border-radius: calc(var(--radius, 0.5rem) - 2px);
}

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

.rounded-sm {
    border-radius: calc(var(--radius, 0.5rem) - 4px);
}

.rounded-xl {
    border-radius: calc(var(--radius, 0.5rem) + 4px);
}

.rounded-l-md {
    border-top-left-radius: calc(var(--radius, 0.5rem) - 2px);
    border-bottom-left-radius: calc(var(--radius, 0.5rem) - 2px);
}

.rounded-r-md {
    border-top-right-radius: calc(var(--radius, 0.5rem) - 2px);
    border-bottom-right-radius: calc(var(--radius, 0.5rem) - 2px);
}

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

.rounded-tl-\[0\.3em\] {
    border-top-left-radius: 0.3em;
}

.rounded-tl-sm {
    border-top-left-radius: calc(var(--radius, 0.5rem) - 4px);
}

.border {
    border-width: 1px;
}

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

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

.border-\[1\.5px\] {
    border-width: 1.5px;
}

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

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

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

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

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

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

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

.border-border {
    --tw-border-opacity: 1;
    border-color: color-mix(in srgb, var(--border, hsl(240 5.9% 90%)) calc(var(--tw-border-opacity, 1) * 100%), transparent);
}

.border-border\/50 {
    border-color: color-mix(in srgb, var(--border, hsl(240 5.9% 90%)) calc(0.5 * 100%), transparent);
}

.border-destructive\/50 {
    border-color: color-mix(in srgb, var(--destructive, hsl(0 72.22% 50.59%)) calc(0.5 * 100%), transparent);
}

.border-input {
    --tw-border-opacity: 1;
    border-color: color-mix(in srgb, var(--input, hsl(240 5.9% 90%)) calc(var(--tw-border-opacity, 1) * 100%), transparent);
}

.border-primary {
    --tw-border-opacity: 1;
    border-color: color-mix(in srgb, var(--primary, hsl(240 5.9% 10%)) calc(var(--tw-border-opacity, 1) * 100%), transparent);
}

.border-primary\/50 {
    border-color: color-mix(in srgb, var(--primary, hsl(240 5.9% 10%)) calc(0.5 * 100%), transparent);
}

.border-sidebar-border {
    --tw-border-opacity: 1;
    border-color: color-mix(in srgb, var(--sidebar-border, hsl(220 13% 91%)) calc(var(--tw-border-opacity, 1) * 100%), transparent);
}

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

.border-l-transparent {
    border-left-color: transparent;
}

.border-t-transparent {
    border-top-color: transparent;
}

.bg-\[--color-bg\] {
    background-color: var(--color-bg);
}

.bg-accent {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--accent, hsl(240 4.8% 95.9%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.bg-background {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--background, hsl(0 0% 100%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.bg-black\/80 {
    background-color: rgb(0 0 0 / 0.8);
}

.bg-black\/\[0\.08\] {
    background-color: rgb(0 0 0 / 0.08);
}

.bg-border {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--border, hsl(240 5.9% 90%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.bg-card {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--card, hsl(0 0% 100%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.bg-destructive {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--destructive, hsl(0 72.22% 50.59%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.bg-foreground {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--foreground, hsl(240 10% 3.9%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.bg-input {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--input, hsl(240 5.9% 90%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.bg-muted {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--muted, hsl(240 4.8% 95.9%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.bg-muted\/50 {
    background-color: color-mix(in srgb, var(--muted, hsl(240 4.8% 95.9%)) calc(0.5 * 100%), transparent);
}

.bg-popover {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--popover, hsl(0 0% 100%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.bg-primary {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--primary, hsl(240 5.9% 10%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.bg-primary\/10 {
    background-color: color-mix(in srgb, var(--primary, hsl(240 5.9% 10%)) calc(0.1 * 100%), transparent);
}

.bg-primary\/20 {
    background-color: color-mix(in srgb, var(--primary, hsl(240 5.9% 10%)) calc(0.2 * 100%), transparent);
}

.bg-secondary {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--secondary, hsl(240 4.8% 95.9%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.bg-sidebar {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--sidebar-background, hsl(0 0% 98%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.bg-sidebar-border {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--sidebar-border, hsl(220 13% 91%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

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

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

.fill-current {
    fill: currentColor;
}

.fill-primary {
    fill: color-mix(in srgb, var(--primary, hsl(240 5.9% 10%)) calc(1 * 100%), transparent);
}

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

.p-0 {
    padding: 0px;
}

.p-1 {
    padding: 0.25rem;
}

.p-2 {
    padding: 0.5rem;
}

.p-3 {
    padding: 0.75rem;
}

.p-4 {
    padding: 1rem;
}

.p-6 {
    padding: 1.5rem;
}

.p-\[0\.25em\] {
    padding: 0.25em;
}

.p-\[1px\] {
    padding: 1px;
}

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

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

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

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

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

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

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

.px-\[--cell-size\] {
    padding-left: var(--cell-size);
    padding-right: var(--cell-size);
}

.px-\[0\.4em\] {
    padding-left: 0.4em;
    padding-right: 0.4em;
}

.px-\[0\.6em\] {
    padding-left: 0.6em;
    padding-right: 0.6em;
}

.px-\[0\.75em\] {
    padding-left: 0.75em;
    padding-right: 0.75em;
}

.px-\[0\.7em\] {
    padding-left: 0.7em;
    padding-right: 0.7em;
}

.px-\[0\.85em\] {
    padding-left: 0.85em;
    padding-right: 0.85em;
}

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

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

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

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

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

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

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

.py-\[0\.25em\] {
    padding-top: 0.25em;
    padding-bottom: 0.25em;
}

.py-\[0\.32em\] {
    padding-top: 0.32em;
    padding-bottom: 0.32em;
}

.py-\[0\.35em\] {
    padding-top: 0.35em;
    padding-bottom: 0.35em;
}

.py-\[0\.36em\] {
    padding-top: 0.36em;
    padding-bottom: 0.36em;
}

.py-\[0\.3em\] {
    padding-top: 0.3em;
    padding-bottom: 0.3em;
}

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

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

.pb-\[0\.25em\] {
    padding-bottom: 0.25em;
}

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

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

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

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

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

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

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

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

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

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

.pt-0 {
    padding-top: 0px;
}

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

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

.pt-\[0\.3em\] {
    padding-top: 0.3em;
}

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

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

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

.font-mono {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.font-sans {
    font-family: var(--font-sans, ui-sans-serif), ui-sans-serif, system-ui, sans-serif;
}

.text-\[0\.65em\] {
    font-size: 0.65em;
}

.text-\[0\.75em\] {
    font-size: 0.75em;
}

.text-\[0\.8rem\] {
    font-size: 0.8rem;
}

.text-\[0\.9em\] {
    font-size: 0.9em;
}

.text-\[1\.35em\] {
    font-size: 1.35em;
}

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

.text-\[2em\] {
    font-size: 2em;
}

.text-base {
    font-size: 1rem;
    line-height: 1.5rem;
}

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

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

.text-sm\/relaxed {
    font-size: 0.875rem;
    line-height: 1.625;
}

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

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

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

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

.uppercase {
    text-transform: uppercase;
}

.italic {
    font-style: italic;
}

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

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

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

.leading-normal {
    line-height: 1.5;
}

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

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

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

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

.tracking-widest {
    letter-spacing: 0.1em;
}

.text-accent-foreground {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--accent-foreground, hsl(240 5.9% 10%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.text-card-foreground {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--card-foreground, hsl(240 10% 3.9%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.text-current {
    color: currentColor;
}

.text-destructive {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--destructive, hsl(0 72.22% 50.59%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.text-destructive-foreground {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--destructive-foreground, hsl(0 0% 98%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.text-foreground {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--foreground, hsl(240 10% 3.9%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.text-muted-foreground {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--muted-foreground, hsl(240 3.8% 46.1%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.text-neutral-800 {
    --tw-text-opacity: 1;
    color: rgb(38 38 38 / var(--tw-text-opacity, 1));
}

.text-popover-foreground {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--popover-foreground, hsl(240 10% 3.9%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.text-primary {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--primary, hsl(240 5.9% 10%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.text-primary-foreground {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--primary-foreground, hsl(0 0% 98%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.text-secondary-foreground {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--secondary-foreground, hsl(240 5.9% 10%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.text-sidebar-foreground {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--sidebar-foreground, hsl(240 5.3% 26.1%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.text-sidebar-foreground\/70 {
    color: color-mix(in srgb, var(--sidebar-foreground, hsl(240 5.3% 26.1%)) calc(0.7 * 100%), transparent);
}

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

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

.opacity-0 {
    opacity: 0;
}

.opacity-50 {
    opacity: 0.5;
}

.opacity-60 {
    opacity: 0.6;
}

.opacity-70 {
    opacity: 0.7;
}

.opacity-80 {
    opacity: 0.8;
}

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

.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\] {
    --tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));
    --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

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

.shadow-md {
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

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

.shadow-sm {
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-xl {
    --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-black\/10 {
    --tw-shadow-color: rgb(0 0 0 / 0.1);
    --tw-shadow: var(--tw-shadow-colored);
}

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

.outline {
    outline-style: solid;
}

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

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

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

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

.ring-inset {
    --tw-ring-inset: inset;
}

.ring-background {
    --tw-ring-opacity: 1;
    --tw-ring-color: color-mix(in srgb, var(--background, hsl(0 0% 100%)) calc(var(--tw-ring-opacity, 1) * 100%), transparent);
}

.ring-black\/\[0\.08\] {
    --tw-ring-color: rgb(0 0 0 / 0.08);
}

.ring-foreground\/15 {
    --tw-ring-color: color-mix(in srgb, var(--foreground, hsl(240 10% 3.9%)) calc(0.15 * 100%), transparent);
}

.ring-ring {
    --tw-ring-opacity: 1;
    --tw-ring-color: color-mix(in srgb, var(--ring, hsl(240 5% 64.9%)) calc(var(--tw-ring-opacity, 1) * 100%), transparent);
}

.ring-sidebar-ring {
    --tw-ring-opacity: 1;
    --tw-ring-color: color-mix(in srgb, var(--sidebar-ring, hsl(240 5% 64.9%)) calc(var(--tw-ring-opacity, 1) * 100%), transparent);
}

.ring-offset-background {
    --tw-ring-offset-color: color-mix(in srgb, var(--background, hsl(0 0% 100%)) calc(1 * 100%), transparent);
}

.blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.drop-shadow {
    --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.filter {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.\!transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter !important;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
    transition-duration: 150ms !important;
}

.transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.transition-\[color\2c box-shadow\] {
    transition-property: color, box-shadow;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.transition-\[filter\] {
    transition-property: filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.transition-\[left\2c right\2c width\] {
    transition-property: left, right, width;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.transition-\[margin\2c opacity\] {
    transition-property: margin, opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.transition-\[width\2c height\2c padding\] {
    transition-property: width, height, padding;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.transition-\[width\] {
    transition-property: width;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.transition-opacity {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.transition-transform {
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.duration-100 {
    transition-duration: 100ms;
}

.duration-1000 {
    transition-duration: 1000ms;
}

.duration-150 {
    transition-duration: 150ms;
}

.duration-200 {
    transition-duration: 200ms;
}

.duration-300 {
    transition-duration: 300ms;
}

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

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

.ease-linear {
    transition-timing-function: linear;
}

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

.will-change-transform {
    will-change: transform;
}

.\@container\/field-group {
    container-type: inline-size;
    container-name: field-group;
}

@keyframes enter {

    from {
        opacity: var(--tw-enter-opacity, 1);
        transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
    }
}

@keyframes exit {

    to {
        opacity: var(--tw-exit-opacity, 1);
        transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
    }
}

.animate-in {
    animation-name: enter;
    animation-duration: 150ms;
    --tw-enter-opacity: initial;
    --tw-enter-scale: initial;
    --tw-enter-rotate: initial;
    --tw-enter-translate-x: initial;
    --tw-enter-translate-y: initial;
}

.animate-out {
    animation-name: exit;
    animation-duration: 150ms;
    --tw-exit-opacity: initial;
    --tw-exit-scale: initial;
    --tw-exit-rotate: initial;
    --tw-exit-translate-x: initial;
    --tw-exit-translate-y: initial;
}

.fade-in {
    --tw-enter-opacity: 0;
}

.fade-in-0 {
    --tw-enter-opacity: 0;
}

.fade-out {
    --tw-exit-opacity: 0;
}

.zoom-in-50 {
    --tw-enter-scale: .5;
}

.zoom-in-90 {
    --tw-enter-scale: .9;
}

.zoom-in-95 {
    --tw-enter-scale: .95;
}

.zoom-out-50 {
    --tw-exit-scale: .5;
}

.zoom-out-95 {
    --tw-exit-scale: .95;
}

.slide-in-from-bottom-1 {
    --tw-enter-translate-y: 0.25rem;
}

.slide-in-from-top-1 {
    --tw-enter-translate-y: -0.25rem;
}

.duration-100 {
    animation-duration: 100ms;
}

.duration-1000 {
    animation-duration: 1000ms;
}

.duration-150 {
    animation-duration: 150ms;
}

.duration-200 {
    animation-duration: 200ms;
}

.duration-300 {
    animation-duration: 300ms;
}

.ease-in {
    animation-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.ease-in-out {
    animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.ease-linear {
    animation-timing-function: linear;
}

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

.running {
    animation-play-state: running;
}

.fill-mode-backwards {
    animation-fill-mode: backwards;
}

.fill-mode-both {
    animation-fill-mode: both;
}

.fill-mode-forwards {
    animation-fill-mode: forwards;
}

.\[--cell-size\:2rem\] {
    --cell-size: 2rem;
}

.dark\:prose-invert:is(.dark *) {
    --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-kbd: var(--tw-prose-invert-kbd);
    --tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);
    --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);
}

.selection\:bg-white\/30 *::selection {
    background-color: rgb(255 255 255 / 0.3);
}

.selection\:bg-white\/30::selection {
    background-color: rgb(255 255 255 / 0.3);
}

.file\:border-0::file-selector-button {
    border-width: 0px;
}

.file\:bg-transparent::file-selector-button {
    background-color: transparent;
}

.file\:text-sm::file-selector-button {
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.file\:font-medium::file-selector-button {
    font-weight: 500;
}

.file\:text-foreground::file-selector-button {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--foreground, hsl(240 10% 3.9%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.placeholder\:text-current::placeholder {
    color: currentColor;
}

.placeholder\:text-muted-foreground::placeholder {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--muted-foreground, hsl(240 3.8% 46.1%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.placeholder\:opacity-60::placeholder {
    opacity: 0.6;
}

.after\:absolute::after {
    content: var(--tw-content);
    position: absolute;
}

.after\:-inset-2::after {
    content: var(--tw-content);
    inset: -0.5rem;
}

.after\:inset-y-0::after {
    content: var(--tw-content);
    top: 0px;
    bottom: 0px;
}

.after\:left-1\/2::after {
    content: var(--tw-content);
    left: 50%;
}

.after\:w-1::after {
    content: var(--tw-content);
    width: 0.25rem;
}

.after\:w-\[2px\]::after {
    content: var(--tw-content);
    width: 2px;
}

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

.first\:rounded-l-md:first-child {
    border-top-left-radius: calc(var(--radius, 0.5rem) - 2px);
    border-bottom-left-radius: calc(var(--radius, 0.5rem) - 2px);
}

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

.last\:mt-0:last-child {
    margin-top: 0px;
}

.last\:rounded-r-md:last-child {
    border-top-right-radius: calc(var(--radius, 0.5rem) - 2px);
    border-bottom-right-radius: calc(var(--radius, 0.5rem) - 2px);
}

.hover\:bg-accent:hover {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--accent, hsl(240 4.8% 95.9%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.hover\:bg-destructive\/80:hover {
    background-color: color-mix(in srgb, var(--destructive, hsl(0 72.22% 50.59%)) calc(0.8 * 100%), transparent);
}

.hover\:bg-destructive\/90:hover {
    background-color: color-mix(in srgb, var(--destructive, hsl(0 72.22% 50.59%)) calc(0.9 * 100%), transparent);
}

.hover\:bg-muted:hover {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--muted, hsl(240 4.8% 95.9%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.hover\:bg-muted\/50:hover {
    background-color: color-mix(in srgb, var(--muted, hsl(240 4.8% 95.9%)) calc(0.5 * 100%), transparent);
}

.hover\:bg-primary\/80:hover {
    background-color: color-mix(in srgb, var(--primary, hsl(240 5.9% 10%)) calc(0.8 * 100%), transparent);
}

.hover\:bg-primary\/90:hover {
    background-color: color-mix(in srgb, var(--primary, hsl(240 5.9% 10%)) calc(0.9 * 100%), transparent);
}

.hover\:bg-secondary\/80:hover {
    background-color: color-mix(in srgb, var(--secondary, hsl(240 4.8% 95.9%)) calc(0.8 * 100%), transparent);
}

.hover\:bg-sidebar-accent:hover {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--sidebar-accent, hsl(240 4.8% 95.9%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.hover\:text-accent-foreground:hover {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--accent-foreground, hsl(240 5.9% 10%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.hover\:text-foreground:hover {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--foreground, hsl(240 10% 3.9%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.hover\:text-muted-foreground:hover {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--muted-foreground, hsl(240 3.8% 46.1%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.hover\:text-sidebar-accent-foreground:hover {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--sidebar-accent-foreground, hsl(240 5.9% 10%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

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

.hover\:opacity-100:hover {
    opacity: 1;
}

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

.hover\:after\:bg-sidebar-border:hover::after {
    content: var(--tw-content);
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--sidebar-border, hsl(220 13% 91%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.focus\:bg-accent:focus {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--accent, hsl(240 4.8% 95.9%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.focus\:text-accent-foreground:focus {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--accent-foreground, hsl(240 5.9% 10%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.focus\:outline-none:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
}

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

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

.focus\:ring-ring:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: color-mix(in srgb, var(--ring, hsl(240 5% 64.9%)) calc(var(--tw-ring-opacity, 1) * 100%), transparent);
}

.focus\:ring-offset-2:focus {
    --tw-ring-offset-width: 2px;
}

.focus-visible\:border-ring:focus-visible {
    --tw-border-opacity: 1;
    border-color: color-mix(in srgb, var(--ring, hsl(240 5% 64.9%)) calc(var(--tw-border-opacity, 1) * 100%), transparent);
}

.focus-visible\:outline-none:focus-visible {
    outline: 2px solid transparent;
    outline-offset: 2px;
}

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

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

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

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

.focus-visible\:ring-ring:focus-visible {
    --tw-ring-opacity: 1;
    --tw-ring-color: color-mix(in srgb, var(--ring, hsl(240 5% 64.9%)) calc(var(--tw-ring-opacity, 1) * 100%), transparent);
}

.focus-visible\:ring-ring\/50:focus-visible {
    --tw-ring-color: color-mix(in srgb, var(--ring, hsl(240 5% 64.9%)) calc(0.5 * 100%), transparent);
}

.focus-visible\:ring-sidebar-ring:focus-visible {
    --tw-ring-opacity: 1;
    --tw-ring-color: color-mix(in srgb, var(--sidebar-ring, hsl(240 5% 64.9%)) calc(var(--tw-ring-opacity, 1) * 100%), transparent);
}

.focus-visible\:ring-offset-1:focus-visible {
    --tw-ring-offset-width: 1px;
}

.focus-visible\:ring-offset-2:focus-visible {
    --tw-ring-offset-width: 2px;
}

.focus-visible\:ring-offset-background:focus-visible {
    --tw-ring-offset-color: color-mix(in srgb, var(--background, hsl(0 0% 100%)) calc(1 * 100%), transparent);
}

.active\:bg-sidebar-accent:active {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--sidebar-accent, hsl(240 4.8% 95.9%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.active\:text-sidebar-accent-foreground:active {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--sidebar-accent-foreground, hsl(240 5.9% 10%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

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

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

.disabled\:opacity-50:disabled {
    opacity: 0.5;
}

.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100 {
    opacity: 1;
}

.group\/menu-item:hover .group-hover\/menu-item\:opacity-100 {
    opacity: 1;
}

.group.toaster .group-\[\.toaster\]\:border-border {
    --tw-border-opacity: 1;
    border-color: color-mix(in srgb, var(--border, hsl(240 5.9% 90%)) calc(var(--tw-border-opacity, 1) * 100%), transparent);
}

.group.toast .group-\[\.toast\]\:bg-muted {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--muted, hsl(240 4.8% 95.9%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.group.toast .group-\[\.toast\]\:bg-primary {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--primary, hsl(240 5.9% 10%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.group.toaster .group-\[\.toaster\]\:bg-background {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--background, hsl(0 0% 100%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.group.toast .group-\[\.toast\]\:text-muted-foreground {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--muted-foreground, hsl(240 3.8% 46.1%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.group.toast .group-\[\.toast\]\:text-primary-foreground {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--primary-foreground, hsl(0 0% 98%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.group.toaster .group-\[\.toaster\]\:text-foreground {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--foreground, hsl(240 10% 3.9%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.group.toaster .group-\[\.toaster\]\:shadow-lg {
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.peer\/menu-button:hover~.peer-hover\/menu-button\:text-sidebar-accent-foreground {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--sidebar-accent-foreground, hsl(240 5.9% 10%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.peer:disabled~.peer-disabled\:cursor-not-allowed {
    cursor: not-allowed;
}

.peer:disabled~.peer-disabled\:opacity-70 {
    opacity: 0.7;
}

.has-\[\>button\]\:ml-\[-0\.45rem\]:has(>button) {
    margin-left: -0.45rem;
}

.has-\[\>button\]\:mr-\[-0\.4rem\]:has(>button) {
    margin-right: -0.4rem;
}

.has-\[\>kbd\]\:ml-\[-0\.35rem\]:has(>kbd) {
    margin-left: -0.35rem;
}

.has-\[\>kbd\]\:mr-\[-0\.35rem\]:has(>kbd) {
    margin-right: -0.35rem;
}

.has-\[\>\[data-align\=block-end\]\]\:h-auto:has(>[data-align=block-end]) {
    height: auto;
}

.has-\[\>\[data-align\=block-start\]\]\:h-auto:has(>[data-align=block-start]) {
    height: auto;
}

.has-\[\>textarea\]\:h-auto:has(>textarea) {
    height: auto;
}

.has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]) {
    width: 100%;
}

.has-\[\>\[data-align\=block-end\]\]\:flex-col:has(>[data-align=block-end]) {
    flex-direction: column;
}

.has-\[\>\[data-align\=block-start\]\]\:flex-col:has(>[data-align=block-start]) {
    flex-direction: column;
}

.has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]) {
    flex-direction: column;
}

.has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]) {
    align-items: flex-start;
}

.has-\[\>\[data-slot\=button-group\]\]\:gap-2:has(>[data-slot=button-group]) {
    gap: 0.5rem;
}

.has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]) {
    gap: 0.75rem;
}

.has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]) {
    gap: 0.75rem;
}

.has-\[\>\[data-slot\=field\]\]\:rounded-md:has(>[data-slot=field]) {
    border-radius: calc(var(--radius, 0.5rem) - 2px);
}

.has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]) {
    border-width: 1px;
}

.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:border-destructive:has([data-slot][aria-invalid=true]) {
    --tw-border-opacity: 1;
    border-color: color-mix(in srgb, var(--destructive, hsl(0 72.22% 50.59%)) calc(var(--tw-border-opacity, 1) * 100%), transparent);
}

.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]) {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--sidebar-background, hsl(0 0% 98%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.has-\[\>svg\]\:p-0:has(>svg) {
    padding: 0px;
}

.has-\[\>svg\]\:px-2:has(>svg) {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.has-\[\>svg\]\:px-2\.5:has(>svg) {
    padding-left: 0.625rem;
    padding-right: 0.625rem;
}

.has-\[\:disabled\]\:opacity-50:has(:disabled) {
    opacity: 0.5;
}

.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-1:has([data-slot=input-group-control]:focus-visible) {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring:has([data-slot=input-group-control]:focus-visible) {
    --tw-ring-opacity: 1;
    --tw-ring-color: color-mix(in srgb, var(--ring, hsl(240 5% 64.9%)) calc(var(--tw-ring-opacity, 1) * 100%), transparent);
}

.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]) {
    --tw-ring-color: color-mix(in srgb, var(--destructive, hsl(0 72.22% 50.59%)) calc(0.2 * 100%), transparent);
}

.group\/item:has([data-slot=item-description]) .group-has-\[\[data-slot\=item-description\]\]\/item\:translate-y-0\.5 {
    --tw-translate-y: 0.125rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group\/item:has([data-slot=item-description]) .group-has-\[\[data-slot\=item-description\]\]\/item\:self-start {
    align-self: flex-start;
}

.group\/field:has([data-orientation=horizontal]) .group-has-\[\[data-orientation\=horizontal\]\]\/field\:text-balance {
    text-wrap: balance;
}

.group\/input-group:has(>input) .group-has-\[\>input\]\/input-group\:pb-2\.5 {
    padding-bottom: 0.625rem;
}

.group\/input-group:has(>input) .group-has-\[\>input\]\/input-group\:pt-2\.5 {
    padding-top: 0.625rem;
}

.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8 {
    padding-right: 2rem;
}

.aria-disabled\:pointer-events-none[aria-disabled="true"] {
    pointer-events: none;
}

.aria-disabled\:opacity-50[aria-disabled="true"] {
    opacity: 0.5;
}

.aria-selected\:text-muted-foreground[aria-selected="true"] {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--muted-foreground, hsl(240 3.8% 46.1%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"] {
    pointer-events: none;
}

.data-\[disabled\]\:pointer-events-none[data-disabled] {
    pointer-events: none;
}

.data-\[orientation\=vertical\]\:h-auto[data-orientation="vertical"] {
    height: auto;
}

.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction="vertical"] {
    height: 1px;
}

.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction="vertical"] {
    width: 100%;
}

.data-\[side\=bottom\]\:translate-y-1[data-side="bottom"] {
    --tw-translate-y: 0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[side\=left\]\:-translate-x-1[data-side="left"] {
    --tw-translate-x: -0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[side\=right\]\:translate-x-1[data-side="right"] {
    --tw-translate-x: 0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[side\=top\]\:-translate-y-1[data-side="top"] {
    --tw-translate-y: -0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[state\=checked\]\:translate-x-4[data-state="checked"] {
    --tw-translate-x: 1rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"] {
    --tw-translate-x: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[state\=closed\]\:animate-\[accordion-up_0\.2s_ease-out\][data-state="closed"] {
    animation: accordion-up 0.2s ease-out;
}

.data-\[state\=open\]\:animate-\[accordion-down_0\.2s_ease-out\][data-state="open"] {
    animation: accordion-down 0.2s ease-out;
}

.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction="vertical"] {
    flex-direction: column;
}

.data-\[slot\=checkbox-group\]\:gap-3[data-slot="checkbox-group"] {
    gap: 0.75rem;
}

.data-\[range-end\=true\]\:rounded-md[data-range-end="true"] {
    border-radius: calc(var(--radius, 0.5rem) - 2px);
}

.data-\[range-middle\=true\]\:rounded-none[data-range-middle="true"] {
    border-radius: 0px;
}

.data-\[range-start\=true\]\:rounded-md[data-range-start="true"] {
    border-radius: calc(var(--radius, 0.5rem) - 2px);
}

.data-\[selected\=true\]\:rounded-none[data-selected="true"] {
    border-radius: 0px;
}

.data-\[active\=true\]\:bg-sidebar-accent[data-active="true"] {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--sidebar-accent, hsl(240 4.8% 95.9%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.data-\[range-end\=true\]\:bg-primary[data-range-end="true"] {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--primary, hsl(240 5.9% 10%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.data-\[range-middle\=true\]\:bg-accent[data-range-middle="true"] {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--accent, hsl(240 4.8% 95.9%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.data-\[range-start\=true\]\:bg-primary[data-range-start="true"] {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--primary, hsl(240 5.9% 10%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.data-\[selected-single\=true\]\:bg-primary[data-selected-single="true"] {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--primary, hsl(240 5.9% 10%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.data-\[selected\=true\]\:bg-accent[data-selected="true"] {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--accent, hsl(240 4.8% 95.9%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.data-\[state\=active\]\:bg-background[data-state="active"] {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--background, hsl(0 0% 100%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.data-\[state\=checked\]\:bg-primary[data-state="checked"] {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--primary, hsl(240 5.9% 10%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.data-\[state\=on\]\:bg-accent[data-state="on"] {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--accent, hsl(240 4.8% 95.9%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.data-\[state\=open\]\:bg-accent[data-state="open"] {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--accent, hsl(240 4.8% 95.9%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.data-\[state\=open\]\:bg-accent\/50[data-state="open"] {
    background-color: color-mix(in srgb, var(--accent, hsl(240 4.8% 95.9%)) calc(0.5 * 100%), transparent);
}

.data-\[state\=open\]\:bg-secondary[data-state="open"] {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--secondary, hsl(240 4.8% 95.9%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.data-\[state\=selected\]\:bg-muted[data-state="selected"] {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--muted, hsl(240 4.8% 95.9%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.data-\[state\=unchecked\]\:bg-input[data-state="unchecked"] {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--input, hsl(240 5.9% 90%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.data-\[variant\=label\]\:text-sm[data-variant="label"] {
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.data-\[variant\=legend\]\:text-base[data-variant="legend"] {
    font-size: 1rem;
    line-height: 1.5rem;
}

.data-\[active\=true\]\:font-medium[data-active="true"] {
    font-weight: 500;
}

.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active="true"] {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--sidebar-accent-foreground, hsl(240 5.9% 10%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.data-\[invalid\=true\]\:text-destructive[data-invalid="true"] {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--destructive, hsl(0 72.22% 50.59%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.data-\[placeholder\]\:text-muted-foreground[data-placeholder] {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--muted-foreground, hsl(240 3.8% 46.1%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.data-\[range-end\=true\]\:text-primary-foreground[data-range-end="true"] {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--primary-foreground, hsl(0 0% 98%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.data-\[range-middle\=true\]\:text-accent-foreground[data-range-middle="true"] {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--accent-foreground, hsl(240 5.9% 10%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.data-\[range-start\=true\]\:text-primary-foreground[data-range-start="true"] {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--primary-foreground, hsl(0 0% 98%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single="true"] {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--primary-foreground, hsl(0 0% 98%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.data-\[selected\=true\]\:text-accent-foreground[data-selected="true"] {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--accent-foreground, hsl(240 5.9% 10%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.data-\[state\=active\]\:text-foreground[data-state="active"] {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--foreground, hsl(240 10% 3.9%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.data-\[state\=checked\]\:text-primary-foreground[data-state="checked"] {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--primary-foreground, hsl(0 0% 98%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.data-\[state\=on\]\:text-accent-foreground[data-state="on"] {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--accent-foreground, hsl(240 5.9% 10%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.data-\[state\=open\]\:text-accent-foreground[data-state="open"] {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--accent-foreground, hsl(240 5.9% 10%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.data-\[state\=open\]\:text-muted-foreground[data-state="open"] {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--muted-foreground, hsl(240 3.8% 46.1%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.data-\[disabled\=true\]\:opacity-50[data-disabled="true"] {
    opacity: 0.5;
}

.data-\[disabled\]\:opacity-50[data-disabled] {
    opacity: 0.5;
}

.data-\[state\=open\]\:opacity-100[data-state="open"] {
    opacity: 1;
}

.data-\[state\=active\]\:shadow[data-state="active"] {
    --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.data-\[near\]\:drop-shadow-\[0_0_0\.4em_currentColor\][data-near] {
    --tw-drop-shadow: drop-shadow(0 0 0.4em currentColor);
    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);
}

.data-\[state\=closed\]\:duration-300[data-state="closed"] {
    transition-duration: 300ms;
}

.data-\[state\=open\]\:duration-500[data-state="open"] {
    transition-duration: 500ms;
}

.data-\[motion\^\=from-\]\:animate-in[data-motion^="from-"] {
    animation-name: enter;
    animation-duration: 150ms;
    --tw-enter-opacity: initial;
    --tw-enter-scale: initial;
    --tw-enter-rotate: initial;
    --tw-enter-translate-x: initial;
    --tw-enter-translate-y: initial;
}

.data-\[state\=open\]\:animate-in[data-state="open"] {
    animation-name: enter;
    animation-duration: 150ms;
    --tw-enter-opacity: initial;
    --tw-enter-scale: initial;
    --tw-enter-rotate: initial;
    --tw-enter-translate-x: initial;
    --tw-enter-translate-y: initial;
}

.data-\[state\=visible\]\:animate-in[data-state="visible"] {
    animation-name: enter;
    animation-duration: 150ms;
    --tw-enter-opacity: initial;
    --tw-enter-scale: initial;
    --tw-enter-rotate: initial;
    --tw-enter-translate-x: initial;
    --tw-enter-translate-y: initial;
}

.data-\[motion\^\=to-\]\:animate-out[data-motion^="to-"] {
    animation-name: exit;
    animation-duration: 150ms;
    --tw-exit-opacity: initial;
    --tw-exit-scale: initial;
    --tw-exit-rotate: initial;
    --tw-exit-translate-x: initial;
    --tw-exit-translate-y: initial;
}

.data-\[state\=closed\]\:animate-out[data-state="closed"] {
    animation-name: exit;
    animation-duration: 150ms;
    --tw-exit-opacity: initial;
    --tw-exit-scale: initial;
    --tw-exit-rotate: initial;
    --tw-exit-translate-x: initial;
    --tw-exit-translate-y: initial;
}

.data-\[state\=hidden\]\:animate-out[data-state="hidden"] {
    animation-name: exit;
    animation-duration: 150ms;
    --tw-exit-opacity: initial;
    --tw-exit-scale: initial;
    --tw-exit-rotate: initial;
    --tw-exit-translate-x: initial;
    --tw-exit-translate-y: initial;
}

.data-\[motion\^\=from-\]\:fade-in[data-motion^="from-"] {
    --tw-enter-opacity: 0;
}

.data-\[motion\^\=to-\]\:fade-out[data-motion^="to-"] {
    --tw-exit-opacity: 0;
}

.data-\[state\=closed\]\:fade-out-0[data-state="closed"] {
    --tw-exit-opacity: 0;
}

.data-\[state\=hidden\]\:fade-out[data-state="hidden"] {
    --tw-exit-opacity: 0;
}

.data-\[state\=open\]\:fade-in-0[data-state="open"] {
    --tw-enter-opacity: 0;
}

.data-\[state\=visible\]\:fade-in[data-state="visible"] {
    --tw-enter-opacity: 0;
}

.data-\[state\=closed\]\:zoom-out-95[data-state="closed"] {
    --tw-exit-scale: .95;
}

.data-\[state\=open\]\:zoom-in-90[data-state="open"] {
    --tw-enter-scale: .9;
}

.data-\[state\=open\]\:zoom-in-95[data-state="open"] {
    --tw-enter-scale: .95;
}

.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion="from-end"] {
    --tw-enter-translate-x: 13rem;
}

.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion="from-start"] {
    --tw-enter-translate-x: -13rem;
}

.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion="to-end"] {
    --tw-exit-translate-x: 13rem;
}

.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion="to-start"] {
    --tw-exit-translate-x: -13rem;
}

.data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"] {
    --tw-enter-translate-y: -0.5rem;
}

.data-\[side\=left\]\:slide-in-from-right-2[data-side="left"] {
    --tw-enter-translate-x: 0.5rem;
}

.data-\[side\=right\]\:slide-in-from-left-2[data-side="right"] {
    --tw-enter-translate-x: -0.5rem;
}

.data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] {
    --tw-enter-translate-y: 0.5rem;
}

.data-\[state\=closed\]\:slide-out-to-bottom[data-state="closed"] {
    --tw-exit-translate-y: 100%;
}

.data-\[state\=closed\]\:slide-out-to-left[data-state="closed"] {
    --tw-exit-translate-x: -100%;
}

.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state="closed"] {
    --tw-exit-translate-x: -50%;
}

.data-\[state\=closed\]\:slide-out-to-right[data-state="closed"] {
    --tw-exit-translate-x: 100%;
}

.data-\[state\=closed\]\:slide-out-to-top[data-state="closed"] {
    --tw-exit-translate-y: -100%;
}

.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state="closed"] {
    --tw-exit-translate-y: -48%;
}

.data-\[state\=open\]\:slide-in-from-bottom[data-state="open"] {
    --tw-enter-translate-y: 100%;
}

.data-\[state\=open\]\:slide-in-from-left[data-state="open"] {
    --tw-enter-translate-x: -100%;
}

.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state="open"] {
    --tw-enter-translate-x: -50%;
}

.data-\[state\=open\]\:slide-in-from-right[data-state="open"] {
    --tw-enter-translate-x: 100%;
}

.data-\[state\=open\]\:slide-in-from-top[data-state="open"] {
    --tw-enter-translate-y: -100%;
}

.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state="open"] {
    --tw-enter-translate-y: -48%;
}

.data-\[state\=closed\]\:duration-300[data-state="closed"] {
    animation-duration: 300ms;
}

.data-\[state\=open\]\:duration-500[data-state="open"] {
    animation-duration: 500ms;
}

.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction="vertical"]::after {
    content: var(--tw-content);
    left: 0px;
}

.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction="vertical"]::after {
    content: var(--tw-content);
    height: 0.25rem;
}

.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction="vertical"]::after {
    content: var(--tw-content);
    width: 100%;
}

.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction="vertical"]::after {
    content: var(--tw-content);
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction="vertical"]::after {
    content: var(--tw-content);
    --tw-translate-x: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[state\=open\]\:hover\:bg-accent:hover[data-state="open"] {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--accent, hsl(240 4.8% 95.9%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state="open"] {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--sidebar-accent, hsl(240 4.8% 95.9%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state="open"] {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--sidebar-accent-foreground, hsl(240 5.9% 10%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.data-\[state\=open\]\:focus\:bg-accent:focus[data-state="open"] {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--accent, hsl(240 4.8% 95.9%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.group\/day[data-focused="true"] .group-data-\[focused\=true\]\/day\:relative {
    position: relative;
}

.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\] {
    left: calc(var(--sidebar-width) * -1);
}

.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\] {
    right: calc(var(--sidebar-width) * -1);
}

.group[data-side="left"] .group-data-\[side\=left\]\:-right-4 {
    right: -1rem;
}

.group[data-side="right"] .group-data-\[side\=right\]\:left-0 {
    left: 0px;
}

.group\/day[data-focused="true"] .group-data-\[focused\=true\]\/day\:z-10 {
    z-index: 10;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:-mt-8 {
    margin-top: -2rem;
}

.group\/field-group[data-variant="outline"] .group-data-\[variant\=outline\]\/field-group\:-mb-2 {
    margin-bottom: -0.5rem;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:hidden {
    display: none;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!size-8 {
    width: 2rem !important;
    height: 2rem !important;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\] {
    width: var(--sidebar-width-icon);
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\] {
    width: calc(var(--sidebar-width-icon) + 1rem);
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\] {
    width: calc(var(--sidebar-width-icon) + 1rem + 2px);
}

.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:w-0 {
    width: 0px;
}

.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:translate-x-0 {
    --tw-translate-x: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group[data-side="right"] .group-data-\[side\=right\]\:rotate-180 {
    --tw-rotate: 180deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group[data-state="open"] .group-data-\[state\=open\]\:rotate-180 {
    --tw-rotate: 180deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:overflow-hidden {
    overflow: hidden;
}

.group[data-variant="floating"] .group-data-\[variant\=floating\]\:rounded-lg {
    border-radius: var(--radius, 0.5rem);
}

.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border {
    border-width: 1px;
}

.group[data-side="left"] .group-data-\[side\=left\]\:border-r {
    border-right-width: 1px;
}

.group[data-side="right"] .group-data-\[side\=right\]\:border-l {
    border-left-width: 1px;
}

.group\/day[data-focused="true"] .group-data-\[focused\=true\]\/day\:border-ring {
    --tw-border-opacity: 1;
    border-color: color-mix(in srgb, var(--ring, hsl(240 5% 64.9%)) calc(var(--tw-border-opacity, 1) * 100%), transparent);
}

.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border-sidebar-border {
    --tw-border-opacity: 1;
    border-color: color-mix(in srgb, var(--sidebar-border, hsl(220 13% 91%)) calc(var(--tw-border-opacity, 1) * 100%), transparent);
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!p-0 {
    padding: 0px !important;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!p-2 {
    padding: 0.5rem !important;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:opacity-0 {
    opacity: 0;
}

.group\/field[data-disabled="true"] .group-data-\[disabled\=true\]\/field\:opacity-50 {
    opacity: 0.5;
}

.group\/input-group[data-disabled="true"] .group-data-\[disabled\=true\]\/input-group\:opacity-50 {
    opacity: 0.5;
}

.group[data-variant="floating"] .group-data-\[variant\=floating\]\:shadow {
    --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.group\/day[data-focused="true"] .group-data-\[focused\=true\]\/day\:ring-\[3px\] {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.group\/day[data-focused="true"] .group-data-\[focused\=true\]\/day\:ring-ring\/50 {
    --tw-ring-color: color-mix(in srgb, var(--ring, hsl(240 5% 64.9%)) calc(0.5 * 100%), transparent);
}

.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:after\:left-full::after {
    content: var(--tw-content);
    left: 100%;
}

.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:hover {
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--sidebar-background, hsl(0 0% 98%)) calc(var(--tw-bg-opacity, 1) * 100%), transparent);
}

.peer\/menu-button[data-size="default"]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5 {
    top: 0.375rem;
}

.peer\/menu-button[data-size="lg"]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5 {
    top: 0.625rem;
}

.peer\/menu-button[data-size="sm"]~.peer-data-\[size\=sm\]\/menu-button\:top-1 {
    top: 0.25rem;
}

.peer\/menu-button[data-active="true"]~.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--sidebar-accent-foreground, hsl(240 5.9% 10%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

@container field-group (min-width: 28rem) {

    .\@md\/field-group\:flex-row {
        flex-direction: row;
    }

    .\@md\/field-group\:items-center {
        align-items: center;
    }

    .\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]) {
        align-items: flex-start;
    }
}

@media (prefers-reduced-motion: reduce) {

    .motion-reduce\:animate-none {
        animation: none;
    }

    .motion-reduce\:transition-none {
        transition-property: none;
    }
}

.dark\:border-destructive:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: color-mix(in srgb, var(--destructive, hsl(0 72.22% 50.59%)) calc(var(--tw-border-opacity, 1) * 100%), transparent);
}

.dark\:bg-input\/30:is(.dark *) {
    background-color: color-mix(in srgb, var(--input, hsl(240 5.9% 90%)) calc(0.3 * 100%), transparent);
}

.dark\:bg-neutral-800:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(38 38 38 / var(--tw-bg-opacity, 1));
}

.dark\:bg-transparent:is(.dark *) {
    background-color: transparent;
}

.dark\:bg-white\/15:is(.dark *) {
    background-color: rgb(255 255 255 / 0.15);
}

.dark\:text-neutral-100:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(245 245 245 / var(--tw-text-opacity, 1));
}

.dark\:shadow-black\/40:is(.dark *) {
    --tw-shadow-color: rgb(0 0 0 / 0.4);
    --tw-shadow: var(--tw-shadow-colored);
}

.dark\:ring-white\/10:is(.dark *) {
    --tw-ring-color: rgb(255 255 255 / 0.1);
}

.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:has([data-slot][aria-invalid=true]):is(.dark *) {
    --tw-ring-color: color-mix(in srgb, var(--destructive, hsl(0 72.22% 50.59%)) calc(0.4 * 100%), transparent);
}

@media (min-width: 640px) {

    .sm\:mt-0 {
        margin-top: 0px;
    }

    .sm\:flex {
        display: flex;
    }

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

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

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

    .sm\:gap-2\.5 {
        gap: 0.625rem;
    }

    .sm\:space-x-2> :not([hidden])~ :not([hidden]) {
        --tw-space-x-reverse: 0;
        margin-right: calc(0.5rem * var(--tw-space-x-reverse));
        margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
    }

    .sm\:rounded-lg {
        border-radius: var(--radius, 0.5rem);
    }

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

@media (min-width: 768px) {

    .md\:absolute {
        position: absolute;
    }

    .md\:block {
        display: block;
    }

    .md\:flex {
        display: flex;
    }

    .md\:w-\[var\(--radix-navigation-menu-viewport-width\)\] {
        width: var(--radix-navigation-menu-viewport-width);
    }

    .md\:w-auto {
        width: auto;
    }

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

    .md\:p-12 {
        padding: 3rem;
    }

    .md\:text-sm {
        font-size: 0.875rem;
        line-height: 1.25rem;
    }

    .md\:opacity-0 {
        opacity: 0;
    }

    .after\:md\:hidden::after {
        content: var(--tw-content);
        display: none;
    }

    .peer[data-variant="inset"]~.md\:peer-data-\[variant\=inset\]\:m-2 {
        margin: 0.5rem;
    }

    .peer[data-state="collapsed"][data-variant="inset"]~.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2 {
        margin-left: 0.5rem;
    }

    .peer[data-variant="inset"]~.md\:peer-data-\[variant\=inset\]\:ml-0 {
        margin-left: 0px;
    }

    .peer[data-variant="inset"]~.md\:peer-data-\[variant\=inset\]\:rounded-xl {
        border-radius: calc(var(--radius, 0.5rem) + 4px);
    }

    .peer[data-variant="inset"]~.md\:peer-data-\[variant\=inset\]\:shadow {
        --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
        --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    }
}

.\[\&\+\[data-slot\=item-content\]\]\:flex-none+[data-slot=item-content] {
    flex: none;
}

.\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected=true] button {
    border-top-left-radius: calc(var(--radius, 0.5rem) - 2px);
    border-bottom-left-radius: calc(var(--radius, 0.5rem) - 2px);
}

.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]) {
    padding-right: 0px;
}

.\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected=true] button {
    border-top-right-radius: calc(var(--radius, 0.5rem) - 2px);
    border-bottom-right-radius: calc(var(--radius, 0.5rem) - 2px);
}

.\[\&\>\*\:not\(\:first-child\)\]\:rounded-l-none>*:not(:first-child) {
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
}

.\[\&\>\*\:not\(\:first-child\)\]\:rounded-t-none>*:not(:first-child) {
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
}

.\[\&\>\*\:not\(\:first-child\)\]\:border-l-0>*:not(:first-child) {
    border-left-width: 0px;
}

.\[\&\>\*\:not\(\:first-child\)\]\:border-t-0>*:not(:first-child) {
    border-top-width: 0px;
}

.\[\&\>\*\:not\(\:last-child\)\]\:rounded-b-none>*:not(:last-child) {
    border-bottom-right-radius: 0px;
    border-bottom-left-radius: 0px;
}

.\[\&\>\*\:not\(\:last-child\)\]\:rounded-r-none>*:not(:last-child) {
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
}

.\[\&\>\*\]\:w-full>* {
    width: 100%;
}

.\[\&\>\*\]\:focus-visible\:relative:focus-visible>* {
    position: relative;
}

.\[\&\>\*\]\:focus-visible\:z-10:focus-visible>* {
    z-index: 10;
}

@container field-group (min-width: 28rem) {

    .\@md\/field-group\:\[\&\>\*\]\:w-auto>* {
        width: auto;
    }
}

.\[\&\>\.sr-only\]\:w-auto>.sr-only {
    width: auto;
}

.\[\&\>\[data-slot\=field-group\]\]\:gap-4>[data-slot=field-group] {
    gap: 1rem;
}

.\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label] {
    flex: 1 1 auto;
}

@container field-group (min-width: 28rem) {

    .\@md\/field-group\:\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label] {
        flex: 1 1 auto;
    }
}

.\[\&\>\[data-slot\=field\]\]\:p-4>[data-slot=field] {
    padding: 1rem;
}

.has-\[select\[aria-hidden\=true\]\:last-child\]\:\[\&\>\[data-slot\=select-trigger\]\:last-of-type\]\:rounded-r-md>[data-slot=select-trigger]:last-of-type:has(select[aria-hidden=true]:last-child) {
    border-top-right-radius: calc(var(--radius, 0.5rem) - 2px);
    border-bottom-right-radius: calc(var(--radius, 0.5rem) - 2px);
}

.\[\&\>\[data-slot\=select-trigger\]\:not\(\[class\*\=\'w-\'\]\)\]\:w-fit>[data-slot=select-trigger]:not([class*='w-']) {
    width: fit-content;
}

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

.\[\&\>a\:hover\]\:text-primary>a:hover {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--primary, hsl(240 5.9% 10%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.\[\&\>a\]\:underline>a {
    text-decoration-line: underline;
}

.\[\&\>a\]\:underline-offset-4>a {
    text-underline-offset: 4px;
}

.\[\&\>button\]\:hidden>button {
    display: none;
}

.\[\&\>input\]\:flex-1>input {
    flex: 1 1 0%;
}

.has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3>input:has(>[data-align=block-end]) {
    padding-top: 0.75rem;
}

.has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3>input:has(>[data-align=block-start]) {
    padding-bottom: 0.75rem;
}

.has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-2>input:has(>[data-align=inline-end]) {
    padding-right: 0.5rem;
}

.has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-2>input:has(>[data-align=inline-start]) {
    padding-left: 0.5rem;
}

.\[\&\>kbd\]\:rounded-\[calc\(var\(--radius\)-5px\)\]>kbd {
    border-radius: calc(var(--radius) - 5px);
}

.\[\&\>span\:last-child\]\:truncate>span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.\[\&\>span\]\:line-clamp-1>span {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.\[\&\>span\]\:text-xs>span {
    font-size: 0.75rem;
    line-height: 1rem;
}

.\[\&\>span\]\:opacity-70>span {
    opacity: 0.7;
}

.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div {
    --tw-translate-y: -3px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5>svg:not([class*='size-']) {
    width: 0.875rem;
    height: 0.875rem;
}

.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>svg:not([class*='size-']) {
    width: 1rem;
    height: 1rem;
}

.\[\&\>svg\]\:absolute>svg {
    position: absolute;
}

.\[\&\>svg\]\:left-4>svg {
    left: 1rem;
}

.\[\&\>svg\]\:top-4>svg {
    top: 1rem;
}

.\[\&\>svg\]\:size-3\.5>svg {
    width: 0.875rem;
    height: 0.875rem;
}

.\[\&\>svg\]\:size-4>svg {
    width: 1rem;
    height: 1rem;
}

.\[\&\>svg\]\:h-2\.5>svg {
    height: 0.625rem;
}

.\[\&\>svg\]\:h-3>svg {
    height: 0.75rem;
}

.\[\&\>svg\]\:h-3\.5>svg {
    height: 0.875rem;
}

.\[\&\>svg\]\:w-2\.5>svg {
    width: 0.625rem;
}

.\[\&\>svg\]\:w-3>svg {
    width: 0.75rem;
}

.\[\&\>svg\]\:w-3\.5>svg {
    width: 0.875rem;
}

.\[\&\>svg\]\:shrink-0>svg {
    flex-shrink: 0;
}

.\[\&\>svg\]\:text-destructive>svg {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--destructive, hsl(0 72.22% 50.59%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.\[\&\>svg\]\:text-foreground>svg {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--foreground, hsl(240 10% 3.9%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.\[\&\>svg\]\:text-muted-foreground>svg {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--muted-foreground, hsl(240 3.8% 46.1%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.\[\&\>svg\]\:text-sidebar-accent-foreground>svg {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--sidebar-accent-foreground, hsl(240 5.9% 10%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.\[\&\>svg\~\*\]\:pl-7>svg~* {
    padding-left: 1.75rem;
}

.\[\&\>tr\]\:last\:border-b-0:last-child>tr {
    border-bottom-width: 0px;
}

.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div {
    --tw-rotate: 90deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg {
    --tw-rotate: 180deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.\[\&_\*\]\:animate-none * {
    animation: none;
}

.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text {
    fill: color-mix(in srgb, var(--muted-foreground, hsl(240 3.8% 46.1%)) calc(1 * 100%), transparent);
}

.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke='#ccc'] {
    stroke: color-mix(in srgb, var(--border, hsl(240 5.9% 90%)) calc(0.5 * 100%), transparent);
}

.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor {
    stroke: color-mix(in srgb, var(--border, hsl(240 5.9% 90%)) calc(1 * 100%), transparent);
}

.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke='#fff'] {
    stroke: transparent;
}

.\[\&_\.recharts-layer\]\:outline-none .recharts-layer {
    outline: 2px solid transparent;
    outline-offset: 2px;
}

.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke='#ccc'] {
    stroke: color-mix(in srgb, var(--border, hsl(240 5.9% 90%)) calc(1 * 100%), transparent);
}

.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector {
    fill: color-mix(in srgb, var(--muted, hsl(240 4.8% 95.9%)) calc(1 * 100%), transparent);
}

.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor {
    fill: color-mix(in srgb, var(--muted, hsl(240 4.8% 95.9%)) calc(1 * 100%), transparent);
}

.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke='#ccc'] {
    stroke: color-mix(in srgb, var(--border, hsl(240 5.9% 90%)) calc(1 * 100%), transparent);
}

.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke='#fff'] {
    stroke: transparent;
}

.\[\&_\.recharts-sector\]\:outline-none .recharts-sector {
    outline: 2px solid transparent;
    outline-offset: 2px;
}

.\[\&_\.recharts-surface\]\:outline-none .recharts-surface {
    outline: 2px solid transparent;
    outline-offset: 2px;
}

.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading] {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading] {
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
}

.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading] {
    font-size: 0.75rem;
    line-height: 1rem;
}

.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading] {
    font-weight: 500;
}

.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--muted-foreground, hsl(240 3.8% 46.1%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group] {
    padding-top: 0px;
}

.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group] {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg {
    height: 1.25rem;
}

.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg {
    width: 1.25rem;
}

.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input] {
    height: 3rem;
}

.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item] {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item] {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg {
    height: 1.25rem;
}

.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg {
    width: 1.25rem;
}

.\[\&_img\]\:size-full img {
    width: 100%;
    height: 100%;
}

.\[\&_img\]\:object-cover img {
    object-fit: cover;
}

.\[\&_p\]\:leading-relaxed p {
    line-height: 1.625;
}

.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*='size-']) {
    width: 0.75rem;
    height: 0.75rem;
}

.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*='size-']) {
    width: 1rem;
    height: 1rem;
}

.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6 svg:not([class*='size-']) {
    width: 1.5rem;
    height: 1.5rem;
}

.\[\&_svg\]\:pointer-events-none svg {
    pointer-events: none;
}

.\[\&_svg\]\:size-4 svg {
    width: 1rem;
    height: 1rem;
}

.\[\&_svg\]\:shrink-0 svg {
    flex-shrink: 0;
}

.\[\&_tr\:last-child\]\:border-0 tr:last-child {
    border-width: 0px;
}

.\[\&_tr\]\:border-b tr {
    border-bottom-width: 1px;
}

[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2 {
    right: -0.5rem;
}

[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize {
    cursor: e-resize;
}

[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize {
    cursor: w-resize;
}

[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2 {
    left: -0.5rem;
}

[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize {
    cursor: w-resize;
}

[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize {
    cursor: e-resize;
}

[data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent {
    background-color: transparent;
}

[data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent {
    background-color: transparent;
}

[data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/20 {
    background-color: color-mix(in srgb, var(--background, hsl(0 0% 100%)) calc(0.2 * 100%), transparent);
}

[data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:text-background {
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--background, hsl(0 0% 100%)) calc(var(--tw-text-opacity, 1) * 100%), transparent);
}

[data-slot=tooltip-content] .dark\:\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/10:is(.dark *) {
    background-color: color-mix(in srgb, var(--background, hsl(0 0% 100%)) calc(0.1 * 100%), transparent);
}

[data-variant=legend]+.\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5 {
    margin-top: -0.375rem;
}

:root {
    --stage-950: #06110b;
    --stage-900: #0a1c12;
    --stage-800: #0f2a1b;
    --stage-700: #143a25;
    --stage-600: #1d4d31;
    --stage-500: #2c6a43;
    --light-100: #fbefd9;
    --light-200: #f3d9ae;
    --light-300: #e9ba77;
    --bronze-400: #c8924f;
    --bronze-500: #a87437;
    --bronze-700: #6f4a22;
    --walnut-500: #6b3f25;
    --walnut-700: #43271a;
    --walnut-900: #24150e;
    --ivory: #f4eddf;
    --paper-100: #efe7d7;
    --paper-200: #e6dcc8;
    --paper-300: #d6c9b0;
    --ink-900: #1e1b15;
    --ink-700: #3e382d;
    --ink-500: #6a6152;
    --bg: var(--stage-900);
    --surface: var(--stage-800);
    --surface-2: var(--stage-700);
    --text: var(--ivory);
    --text-muted: #d6ccb6;
    --text-faint: #b3ab96;
    --accent: var(--light-300);
    --accent-strong: var(--bronze-400);
    --line: rgb(233 186 119 / .18);
    --line-strong: rgb(233 186 119 / .38);
    --focus: var(--light-200);
    --font-display: "Lalezar", "Vazirmatn", system-ui, sans-serif;
    --font-script: "Markazi Text", "Vazirmatn", serif;
    --font-ui: "Vazirmatn", system-ui, sans-serif;
    --fs-display: clamp(3.1rem, 13.5vw, 9.5rem);
    --fs-h1: clamp(2.5rem, 8.4vw, 5.6rem);
    --fs-h2: clamp(2.05rem, 5.6vw, 3.9rem);
    --fs-h3: clamp(1.55rem, 3vw, 2.05rem);
    --fs-lead: clamp(1.35rem, 2.6vw, 1.8rem);
    --fs-body: 1.0625rem;
    --fs-caption: .9375rem;
    --fs-meta: .875rem;
    --lh-tight: 1.12;
    --lh-head: 1.3;
    --lh-body: 1.95;
    --s-1: .25rem;
    --s-2: .5rem;
    --s-3: .75rem;
    --s-4: 1rem;
    --s-5: 1.5rem;
    --s-6: 2rem;
    --s-7: 3rem;
    --s-8: 4rem;
    --s-9: 6rem;
    --s-10: 8rem;
    --gutter: clamp(1.25rem, 5vw, 3.25rem);
    --section-y: clamp(4.5rem, 11vw, 9rem);
    --container: 1320px;
    --container-narrow: 760px;
    --header-h: 4.25rem;
    --r-xs: 3px;
    --r-sm: 6px;
    --r-md: 12px;
    --r-lg: 20px;
    --r-pill: 999px;
    --border: 1px solid var(--line);
    --shadow-sm: 0 2px 8px rgb(3 10 6 / .25);
    --shadow-md: 0 18px 40px -18px rgb(3 10 6 / .65);
    --shadow-lg: 0 40px 80px -30px rgb(3 10 6 / .8);
    --glow: 0 0 60px rgb(233 186 119 / .25);
    --ease-out: cubic-bezier(.16, 1, .3, 1);
    --ease-curtain: cubic-bezier(.77, 0, .18, 1);
    --ease-soft: cubic-bezier(.4, 0, .2, 1);
    --t-fast: .18s;
    --t-base: .42s;
    --t-slow: .9s;
    --t-curtain: .76s;
    --z-header: 50;
    --z-menu: 80;
    --z-modal: 90;
    --z-transition: 95;
    --z-loader: 100;
    --z-cursor: 110
}

*,
*:before,
*:after {
    box-sizing: border-box
}

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    scroll-behavior: smooth;
    background: var(--bg);
    color-scheme: dark
}

#root {
    scroll-behavior: smooth
}

body {
    margin: 0;
    min-height: 100vh;
    font-family: var(--font-ui);
    font-size: var(--fs-body);
    line-height: var(--lh-body);
    color: var(--text);
    background: var(--bg);
    overflow-x: clip;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility
}

body:after {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 120;
    opacity: .075;
    mix-blend-mode: overlay;
    background-image: url(./assets/texture-small.webp);
    background-size: 128px
}

img,
video,
svg,
iframe {
    display: block;
    max-width: 100%
}

img {
    height: auto
}

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

button {
    font: inherit;
    color: inherit;
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer
}

h1,
h2,
h3,
h4,
p,
figure,
blockquote,
ul,
ol,
dl,
dd {
    margin: 0
}

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

::selection {
    background: var(--light-300);
    color: var(--stage-950)
}

:focus-visible {
    outline: 2px solid var(--focus);
    outline-offset: 3px;
    border-radius: var(--r-xs)
}

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

.skip-link {
    position: fixed;
    inset-inline-start: var(--s-4);
    top: -4rem;
    z-index: 130;
    padding: var(--s-2) var(--s-4);
    background: var(--light-300);
    color: var(--stage-950);
    font-weight: 700;
    border-radius: var(--r-sm);
    transition: top var(--t-fast) var(--ease-out)
}

.skip-link:focus {
    top: var(--s-4)
}

.container {
    width: 100%;
    max-width: calc(var(--container) + var(--gutter) * 2);
    margin-inline: auto;
    padding-inline: var(--gutter)
}

.container--narrow {
    max-width: calc(var(--container-narrow) + var(--gutter) * 2)
}

.section {
    position: relative;
    padding-block: var(--section-y)
}

.section--tight {
    padding-block: calc(var(--section-y) * .6)
}

.paper {
    --text: var(--ink-900);
    --text-muted: var(--ink-700);
    --text-faint: var(--ink-500);
    --accent: var(--walnut-500);
    --accent-strong: var(--bronze-700);
    --line: rgb(67 39 26 / .18);
    --line-strong: rgb(67 39 26 / .4);
    --focus: var(--walnut-500);
    color: var(--text);
    background: radial-gradient(120% 80% at 80% 0%, rgb(255 255 255 / .55), transparent 60%), radial-gradient(90% 70% at 0% 100%, rgb(167 140 100 / .18), transparent 60%), var(--paper-100);
    color-scheme: light
}

.stage {
    background: radial-gradient(70% 55% at 50% -10%, rgb(233 186 119 / .09), transparent 70%), radial-gradient(90% 70% at 50% 120%, var(--stage-700), transparent 70%), var(--stage-900)
}

.stage--deep {
    background: var(--stage-950)
}

.t-display,
.t-h1,
.t-h2 {
    font-family: var(--font-display);
    font-weight: 400;
    line-height: var(--lh-tight);
    text-wrap: balance
}

.t-display {
    font-size: var(--fs-display);
    line-height: 1.02
}

.t-h1 {
    font-size: var(--fs-h1)
}

.t-h2 {
    font-size: var(--fs-h2)
}

.t-h3 {
    font-family: var(--font-script);
    font-weight: 700;
    font-size: var(--fs-h3);
    line-height: var(--lh-head)
}

.t-lead {
    font-family: var(--font-script);
    font-weight: 500;
    font-size: var(--fs-lead);
    line-height: 1.75;
    color: var(--text-muted);
    text-wrap: pretty
}

.t-body {
    font-size: var(--fs-body);
    line-height: var(--lh-body);
    color: var(--text-muted);
    text-wrap: pretty
}

.t-caption {
    font-size: var(--fs-caption);
    line-height: 1.8;
    color: var(--text-muted)
}

.t-meta {
    font-size: var(--fs-meta);
    line-height: 1.7;
    font-weight: 500;
    color: var(--text-faint)
}

.t-label {
    display: flex;
    width: fit-content;
    align-items: center;
    gap: var(--s-2);
    font-size: var(--fs-meta);
    font-weight: 700;
    line-height: 1.6;
    color: var(--accent)
}

.t-label:before {
    content: "";
    width: 1.5rem;
    height: 1px;
    background: currentColor;
    opacity: .7
}

.t-direction {
    font-family: var(--font-script);
    font-weight: 500;
    font-size: clamp(1.2rem, 2vw, 1.4rem);
    line-height: 1.7;
    color: var(--accent)
}

.t-direction:before {
    content: "("
}

.t-direction:after {
    content: ")"
}

.num {
    font-feature-settings: "tnum"
}

.ph {
    color: var(--text-faint);
    text-decoration: underline dashed rgb(200 146 79 / .6) 1px;
    text-underline-offset: .35em
}

[data-reveal] {
    transition: opacity var(--t-slow) var(--ease-out), transform var(--t-slow) var(--ease-out), clip-path 1.1s var(--ease-curtain);
    transition-delay: calc(var(--d, 0) * 90ms)
}

[data-reveal=up]:not(.is-in) {
    opacity: 0;
    transform: translate3d(0, 2.25rem, 0)
}

[data-reveal=fade]:not(.is-in) {
    opacity: 0
}

[data-reveal=mask]:not(.is-in) {
    clip-path: inset(100% 0 0 0)
}

[data-reveal=mask].is-in {
    clip-path: inset(0 0 0 0)
}

[data-reveal=curtain] {
    position: relative;
    overflow: hidden
}

[data-reveal=curtain]:after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--stage-950);
    transform-origin: top;
    transition: transform 1.15s var(--ease-curtain);
    transition-delay: calc(var(--d, 0) * 90ms);
    z-index: 2;
    pointer-events: none
}

[data-reveal=curtain].is-in:after {
    transform: scaleY(0)
}

.paper [data-reveal=curtain]:after {
    background: var(--paper-300)
}

.words {
    display: inline
}

.word {
    display: inline-block;
    overflow: hidden;
    vertical-align: top;
    padding-block: .06em;
    margin-block: -.06em
}

.word>span {
    display: inline-block;
    transition: transform 1s var(--ease-out);
    transition-delay: calc(var(--w, 0) * 70ms + var(--d, 0) * 90ms)
}

.words:not(.is-in) .word>span {
    transform: translate3d(0, 110%, 0)
}

@media(prefers-reduced-motion:reduce) {

    html,
    #root {
        scroll-behavior: auto
    }

    *,
    *:before,
    *:after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        transition-delay: 0ms !important
    }
}

.logo-mark {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 8px 14px rgb(0 0 0 / .22))
}

.logo-mark[data-tone=light] {
    filter: drop-shadow(0 8px 14px rgb(0 0 0 / .2))
}

.logo-mark[data-tone=ink] {
    filter: sepia(.15) saturate(.8) drop-shadow(0 5px 10px rgb(0 0 0 / .18))
}

.logo-mark[data-tone=gold] {
    filter: drop-shadow(0 14px 30px rgb(0 0 0 / .45))
}

@keyframes light-sweep {
    0% {
        background-position: 130% 0, 0 0
    }

    45%,
    to {
        background-position: -40% 0, 0 0
    }
}

.logo {
    display: inline-flex;
    align-items: center;
    gap: var(--s-3);
    min-height: 44px
}

.logo .logo-mark {
    width: 3.2rem
}

@media(max-width:359px) {
    .logo__text {
        display: none
    }
}

.logo__text {
    display: flex;
    flex-direction: column;
    line-height: 1.35
}

.logo__kind {
    font-family: var(--font-display);
    font-size: 1rem;
    white-space: nowrap
}

.logo__city {
    font-size: var(--fs-meta);
    color: var(--text-faint)
}

.header {
    position: fixed;
    inset: 0 0 auto;
    z-index: var(--z-header);
    transition: transform var(--t-base) var(--ease-out), background-color var(--t-base) var(--ease-soft), backdrop-filter var(--t-base)
}

.header[data-scrolled] {
    background: #0a1c12c7;
    backdrop-filter: blur(14px) saturate(1.2);
    -webkit-backdrop-filter: blur(14px) saturate(1.2);
    box-shadow: 0 1px 0 var(--line)
}

.header[data-hidden] {
    transform: translateY(-100%)
}

.header__bar {
    height: var(--header-h);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-5)
}

.header__nav {
    display: none
}

.header__link {
    position: relative;
    padding-block: var(--s-2);
    font-size: var(--fs-caption);
    font-weight: 500;
    color: var(--text-muted);
    transition: color var(--t-fast)
}

.header__link:after {
    content: "";
    position: absolute;
    inset-inline: 0;
    bottom: .15rem;
    height: 1px;
    background: var(--accent);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform var(--t-base) var(--ease-out)
}

.header__link:hover,
.header__link[data-active] {
    color: var(--text)
}

.header__link:hover:after,
.header__link[data-active]:after {
    transform: scaleX(1)
}

@media(min-width:900px) {
    .header__nav {
        display: flex;
        gap: var(--s-6);
        margin-inline-start: auto
    }
}

.menu-toggle {
    display: inline-flex;
    align-items: center;
    gap: var(--s-3);
    min-height: 44px;
    padding: 0 var(--s-4);
    border: 1px solid var(--line-strong);
    border-radius: var(--r-pill);
    font-size: var(--fs-meta);
    font-weight: 700;
    transition: background-color var(--t-fast), border-color var(--t-fast)
}

.menu-toggle:hover {
    background: #e9ba771a;
    border-color: var(--accent)
}

.menu-toggle__label {
    line-height: 1
}

.menu-toggle__bars {
    display: grid;
    gap: 5px;
    width: 20px
}

.menu-toggle__bars span {
    height: 1.5px;
    background: currentColor;
    border-radius: 2px;
    transition: transform var(--t-base) var(--ease-out)
}

.menu-toggle__bars span:last-child {
    width: 65%
}

.menu-toggle:hover .menu-toggle__bars span:last-child {
    transform: scaleX(1.55);
    transform-origin: right
}

.menu {
    position: fixed;
    inset: 0;
    z-index: var(--z-menu);
    visibility: hidden;
    pointer-events: none;
    transition: visibility 0s linear var(--t-curtain)
}

.menu[data-open] {
    visibility: visible;
    pointer-events: auto;
    transition: none
}

.menu__curtain {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 50.5%;
    background: repeating-linear-gradient(90deg, rgb(0 0 0 / .22) 0 2px, transparent 2px 38px, rgb(255 255 255 / .025) 38px 44px, transparent 44px 70px), linear-gradient(180deg, var(--stage-700), var(--stage-900) 70%, var(--stage-950));
    transition: transform var(--t-curtain) var(--ease-curtain)
}

.menu__curtain--start {
    right: 0;
    transform: translate(101%)
}

.menu__curtain--end {
    left: 0;
    transform: translate(-101%)
}

.menu[data-open] .menu__curtain {
    transform: none
}

.menu__inner {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    overscroll-behavior: contain;
    opacity: 0;
    transition: opacity .26s var(--ease-soft)
}

.menu[data-open] .menu__inner {
    opacity: 1;
    transition: opacity .4s var(--ease-soft) .38s
}

.menu__top {
    height: var(--header-h);
    flex: none;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.menu__close {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border: 1px solid var(--line-strong);
    border-radius: 50%;
    transition: transform var(--t-base) var(--ease-out), background-color var(--t-fast)
}

.menu__close:hover {
    transform: rotate(90deg);
    background: #e9ba771a
}

.menu__body {
    flex: 1;
    display: grid;
    align-content: center;
    gap: var(--s-7);
    padding-block: var(--s-6)
}

.menu__list li {
    border-bottom: 1px solid var(--line);
    overflow: hidden
}

.menu__link {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--s-4);
    padding-block: .55rem;
    transform: translateY(110%);
    transition: transform .7s var(--ease-out), color var(--t-fast)
}

.menu[data-open] .menu__link {
    transform: none;
    transition-delay: calc(.42s + var(--i) * 45ms), 0ms
}

.menu__label {
    font-family: var(--font-display);
    font-size: clamp(1.75rem, 7.2vw, 3rem);
    line-height: 1.35
}

.menu__hint {
    font-size: var(--fs-meta);
    color: var(--text-faint);
    text-align: left
}

.menu__link:hover,
.menu__link[data-current] {
    color: var(--light-300)
}

.menu__link[data-current] .menu__label:before {
    content: "";
    display: inline-block;
    width: .5rem;
    height: .5rem;
    margin-inline-end: .6rem;
    border-radius: 50%;
    background: var(--light-300);
    box-shadow: 0 0 18px var(--light-300);
    vertical-align: middle
}

.menu__aside {
    display: none
}

.menu__foot {
    flex: none;
    padding-block: var(--s-5) var(--s-6)
}

@media(min-width:900px) {
    .menu__body {
        grid-template-columns: 1.4fr 1fr;
        align-items: center;
        gap: var(--s-9)
    }

    .menu__aside {
        display: grid;
        gap: var(--s-3);
        max-width: 22rem;
        justify-self: end
    }

    .menu__poster {
        display: block;
        border-radius: var(--r-sm);
        overflow: hidden;
        box-shadow: var(--shadow-lg);
        transform: rotate(-2deg);
        transition: transform var(--t-slow) var(--ease-out)
    }

    .menu__poster:hover {
        transform: rotate(0) scale(1.02)
    }

    .menu__hint {
        opacity: 0;
        transform: translate(-.75rem);
        transition: opacity var(--t-base), transform var(--t-base) var(--ease-out)
    }

    .menu__link:hover .menu__hint,
    .menu__link:focus-visible .menu__hint {
        opacity: 1;
        transform: none
    }
}

.btn {
    --mx: 0px;
    --my: 0px;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--s-3);
    min-height: 52px;
    padding: 0 var(--s-6);
    border-radius: var(--r-pill);
    font-size: var(--fs-caption);
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    isolation: isolate;
    overflow: hidden;
    transform: translate3d(var(--mx), var(--my), 0);
    transition: transform .5s var(--ease-out), background-color var(--t-fast), color var(--t-fast), border-color var(--t-fast), box-shadow var(--t-base)
}

.btn:active {
    transform: translate3d(var(--mx), var(--my), 0) scale(.97)
}

.btn__icon {
    transition: transform var(--t-base) var(--ease-out)
}

.btn:hover .btn__icon {
    transform: translate(-4px)
}

.btn[data-variant=primary] {
    color: var(--stage-950);
    background: var(--light-300);
    box-shadow: 0 10px 30px -12px #e9ba7799
}

.btn[data-variant=primary]:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(105deg, transparent 30%, rgb(255 255 255 / .55) 50%, transparent 70%);
    transform: translate(110%);
    transition: transform .8s var(--ease-out)
}

.btn[data-variant=primary]:hover {
    background: var(--light-200);
    box-shadow: 0 16px 40px -12px #e9ba77bf
}

.btn[data-variant=primary]:hover:before {
    transform: translate(-110%)
}

.paper .btn[data-variant=primary] {
    color: var(--ivory);
    background: var(--stage-800);
    box-shadow: 0 10px 30px -14px #0f2a1bb3
}

.paper .btn[data-variant=primary]:hover {
    background: var(--stage-700)
}

.btn[data-variant=ghost] {
    color: var(--text);
    border: 1px solid var(--line-strong)
}

.btn[data-variant=ghost]:hover {
    border-color: var(--accent);
    background: #e9ba7714
}

.btn[data-variant=link] {
    min-height: 44px;
    padding: 0;
    border-radius: 0;
    color: var(--accent);
    overflow: visible
}

.btn[data-variant=link] .btn__label {
    background: linear-gradient(currentColor, currentColor) right bottom / 100% 1px no-repeat;
    padding-bottom: .3rem;
    transition: background-size var(--t-base) var(--ease-out)
}

.btn[data-variant=link]:hover .btn__label {
    background-size: 35% 1px
}

.icon-btn {
    width: 48px;
    height: 48px;
    display: inline-grid;
    place-items: center;
    border: 1px solid var(--line-strong);
    border-radius: 50%;
    color: var(--text);
    transition: background-color var(--t-fast), border-color var(--t-fast), transform var(--t-fast)
}

.icon-btn:hover:not(:disabled) {
    border-color: var(--accent);
    background: #e9ba771a
}

.icon-btn:active:not(:disabled) {
    transform: scale(.94)
}

.icon-btn:disabled {
    opacity: .35;
    cursor: default
}

.section-heading {
    display: grid;
    gap: var(--s-5);
    margin-bottom: clamp(2.25rem, 6vw, 4rem)
}

.section-heading__text {
    display: grid;
    gap: var(--s-3);
    max-width: 48rem
}

.section-heading__lead {
    max-width: 40rem
}

@media(min-width:900px) {
    .section-heading {
        grid-template-columns: 1fr auto;
        align-items: end
    }
}

.img {
    position: relative;
    aspect-ratio: var(--ratio);
    overflow: hidden;
    background: var(--blur) center / cover no-repeat, var(--stage-800)
}

.img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    filter: blur(12px);
    transform: scale(1.04);
    transition: opacity .7s var(--ease-soft), filter .9s var(--ease-soft), transform 1.2s var(--ease-out)
}

.img[data-fit=contain] {
    background: none
}

.img[data-fit=contain] img {
    object-fit: contain
}

.img.is-loaded img {
    opacity: 1;
    filter: none;
    transform: none
}

.frame {
    position: relative;
    aspect-ratio: var(--ratio);
    display: grid;
    place-items: center;
    overflow: hidden;
    color: #e9ba778c;
    background: radial-gradient(60% 50% at 50% 0%, rgb(233 186 119 / .16), transparent 70%), linear-gradient(180deg, var(--stage-800), var(--stage-950));
    outline: 1px solid rgb(233 186 119 / .12);
    outline-offset: -1px
}

.paper .frame {
    background: radial-gradient(60% 50% at 50% 0%, rgb(255 255 255 / .65), transparent 70%), linear-gradient(180deg, var(--paper-200), var(--paper-300));
    color: #43271a73;
    outline-color: #43271a24
}

.frame__beam {
    position: absolute;
    inset: 0 22%;
    background: linear-gradient(180deg, rgb(233 186 119 / .14), transparent 85%);
    clip-path: polygon(38% 0, 62% 0, 100% 100%, 0 100%)
}

.paper .frame__beam {
    background: linear-gradient(180deg, rgb(255 255 255 / .6), transparent 85%)
}

.frame__chair {
    width: 22%;
    max-width: 5.5rem;
    min-width: 2.25rem;
    transform: translateY(-8%)
}

.frame__label {
    position: absolute;
    inset-inline: var(--s-3);
    bottom: var(--s-3);
    display: flex;
    align-items: center;
    gap: var(--s-2);
    font-size: var(--fs-meta);
    font-weight: 500;
    line-height: 1.5;
    color: var(--text-faint)
}

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

.frame[data-kind=person]:before {
    content: "";
    position: absolute;
    width: 34%;
    aspect-ratio: 1;
    top: 26%;
    border-radius: 50%;
    border: 1.5px solid currentColor;
    opacity: .6
}

.frame[data-kind=person]:after {
    content: "";
    position: absolute;
    width: 62%;
    height: 30%;
    bottom: -6%;
    border-radius: 50% 50% 0 0;
    border: 1.5px solid currentColor;
    opacity: .6
}

.breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-1) var(--s-2);
    font-size: var(--fs-meta);
    color: var(--text-faint)
}

.breadcrumb li {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    min-width: 0
}

.breadcrumb a {
    padding-block: var(--s-2);
    transition: color var(--t-fast)
}

.breadcrumb a:hover {
    color: var(--accent)
}

.breadcrumb [aria-current] {
    color: var(--text-muted);
    max-width: 22ch;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.filter {
    display: flex;
    gap: var(--s-2);
    overflow-x: auto;
    scrollbar-width: none;
    margin-inline: calc(var(--gutter) * -1);
    padding-inline: var(--gutter);
    padding-block: var(--s-1)
}

.filter::-webkit-scrollbar {
    display: none
}

.filter__chip {
    flex: none;
    min-height: 44px;
    padding: 0 var(--s-5);
    border: 1px solid var(--line-strong);
    border-radius: var(--r-pill);
    font-size: var(--fs-meta);
    font-weight: 500;
    color: var(--text-muted);
    transition: background-color var(--t-fast), color var(--t-fast), border-color var(--t-fast)
}

.filter__chip:hover {
    color: var(--text);
    border-color: var(--accent)
}

.filter__chip[aria-pressed=true] {
    color: var(--stage-950);
    background: var(--light-300);
    border-color: var(--light-300)
}

@media(min-width:900px) {
    .filter {
        flex-wrap: wrap;
        margin-inline: 0;
        padding-inline: 0
    }
}

.facts {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-4) var(--s-7);
    padding-block: var(--s-4);
    border-block: 1px solid var(--line)
}

.facts dt {
    font-size: var(--fs-meta);
    color: var(--text-faint)
}

.facts dd {
    font-weight: 700;
    font-size: var(--fs-caption)
}

.facts--stack {
    display: grid;
    gap: 0;
    padding: 0;
    border: 0
}

.facts--stack>div {
    display: flex;
    justify-content: space-between;
    gap: var(--s-4);
    padding-block: var(--s-3);
    border-bottom: 1px solid var(--line)
}

.rail {
    position: relative
}

.rail__controls {
    display: none
}

.rail__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(72vw, 19rem);
    gap: var(--s-5);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: var(--gutter);
    margin-inline: calc(var(--gutter) * -1);
    padding-inline: var(--gutter);
    padding-bottom: var(--s-4);
    scrollbar-width: none;
    overscroll-behavior-x: contain
}

.rail__track::-webkit-scrollbar {
    display: none
}

.rail__item {
    scroll-snap-align: start
}

@media(min-width:900px) {
    .rail__track {
        grid-auto-columns: calc((100% - var(--s-5) * 3) / 4);
        margin-inline: 0;
        padding-inline: 0
    }

    .rail__controls {
        position: absolute;
        top: -6.5rem;
        left: 0;
        display: flex;
        gap: var(--s-2)
    }

    .featured .section-heading__action {
        margin-left: 7.5rem
    }
}

.show-card__link {
    display: grid;
    gap: var(--s-4)
}

.show-card__media {
    position: relative;
    overflow: hidden;
    border-radius: var(--r-sm);
    box-shadow: var(--shadow-md)
}

.show-card__media>.img img,
.show-card__media>.frame {
    transition: transform 1.1s var(--ease-out)
}

.show-card__sweep {
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 35%, rgb(255 240 210 / .22) 50%, transparent 65%);
    transform: translate(100%);
    pointer-events: none
}

.show-card__badge {
    position: absolute;
    top: var(--s-3);
    inset-inline-start: var(--s-3);
    display: inline-flex;
    align-items: center;
    gap: var(--s-1);
    padding: .2rem .65rem;
    border-radius: var(--r-pill);
    font-size: var(--fs-meta);
    font-weight: 700;
    color: var(--stage-950);
    background: var(--light-300)
}

.show-card__credits {
    position: absolute;
    inset: auto 0 0;
    display: grid;
    gap: var(--s-2);
    padding: var(--s-6) var(--s-4) var(--s-4);
    font-size: var(--fs-meta);
    color: var(--ivory);
    background: linear-gradient(0deg, rgb(6 17 11 / .95), rgb(6 17 11 / .6) 70%, transparent);
    transform: translateY(100%);
    transition: transform .6s var(--ease-out)
}

.show-card__credits div {
    display: flex;
    justify-content: space-between;
    gap: var(--s-3)
}

.show-card__credits dt {
    color: var(--light-300)
}

.show-card__credits .ph {
    color: #f4eddfb3
}

.show-card__body {
    display: grid;
    gap: var(--s-1)
}

.show-card__title {
    font-family: var(--font-display);
    font-size: clamp(1.4rem, 2.2vw, 1.75rem);
    line-height: 1.3
}

.show-card__title.ph {
    font-family: var(--font-script);
    font-weight: 700
}

@media(hover:hover) {

    .show-card__link:hover .show-card__media>.img img,
    .show-card__link:hover .show-card__media>.frame {
        transform: scale(1.05)
    }

    .show-card__link:hover .show-card__sweep {
        transform: translate(-100%);
        transition: transform 1.1s var(--ease-out)
    }

    .show-card__link:hover .show-card__credits,
    .show-card__link:focus-visible .show-card__credits {
        transform: none
    }
}

@media(hover:none) {
    .show-card__credits {
        position: static;
        transform: none;
        padding: var(--s-3) var(--s-4);
        background: var(--stage-950)
    }
}

.card-grid {
    display: grid;
    gap: var(--s-7) var(--s-5)
}

@media(min-width:600px) {
    .card-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(min-width:1200px) {
    .card-grid {
        grid-template-columns: repeat(3, 1fr)
    }
}

.group-grid {
    display: grid;
    gap: var(--s-4)
}

@media(min-width:600px) {
    .group-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(min-width:1200px) {
    .group-grid {
        grid-template-columns: repeat(3, 1fr)
    }
}

.group-card {
    height: 100%;
    display: grid;
    align-content: start;
    gap: var(--s-2);
    padding: var(--s-5);
    border: 1px solid var(--line);
    border-radius: var(--r-md);
    transition: border-color var(--t-base), transform var(--t-base) var(--ease-out), background-color var(--t-base)
}

.group-card:hover {
    border-color: var(--line-strong);
    transform: translateY(-3px);
    background: #e9ba770a
}

.group-card__icon {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    margin-bottom: var(--s-2);
    border-radius: 50%;
    color: var(--accent);
    border: 1px solid var(--line-strong)
}

.group-card__name {
    font-family: var(--font-script);
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.4
}

.group-card__works {
    margin-top: var(--s-2);
    padding-top: var(--s-3);
    border-top: 1px solid var(--line)
}

.awards__grid {
    display: grid;
    gap: var(--s-4)
}

@media(min-width:600px) {
    .awards__grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .awards__lead {
        grid-column: 1 / -1
    }
}

@media(min-width:1200px) {
    .awards__grid {
        grid-template-columns: repeat(3, 1fr)
    }

    .awards__lead {
        grid-column: span 2;
        grid-row: span 2
    }
}

.award-card {
    --px: 0;
    --py: 0;
    position: relative;
    height: 100%;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: var(--s-5);
    padding: var(--s-5);
    overflow: hidden;
    border-radius: var(--r-md);
    background: linear-gradient(160deg, #43271a8c, #0a1c1299);
    border: 1px solid var(--line);
    isolation: isolate;
    transition: border-color var(--t-base)
}

.award-card__spot {
    position: absolute;
    inset: -40%;
    z-index: -1;
    background: radial-gradient(closest-side, rgb(233 186 119 / .22), transparent);
    transform: translate(calc(var(--px) * 25%), calc(var(--py) * 25%));
    opacity: 0;
    transition: opacity var(--t-base)
}

.award-card:hover {
    border-color: var(--line-strong)
}

.award-card:hover .award-card__spot {
    opacity: 1
}

.award-card__trophy {
    position: relative;
    width: 4.5rem;
    display: grid;
    justify-items: center;
    color: var(--walnut-500)
}

.award-card__mark {
    width: 3.6rem;
    margin-bottom: -.9rem;
    position: relative;
    z-index: 1
}

.award-card__chair {
    width: 3.2rem;
    color: #8b5a36
}

.award-card__body {
    display: grid;
    gap: var(--s-1);
    min-width: 0
}

.award-card__category {
    font-family: var(--font-display);
    font-size: 1.45rem;
    line-height: 1.35;
    color: var(--light-300)
}

.award-card__recipient {
    font-family: var(--font-script);
    font-weight: 700;
    font-size: 1.35rem;
    line-height: 1.5
}

.award-card__work {
    color: var(--text-muted);
    transition: color var(--t-fast)
}

.award-card__work:hover {
    color: var(--accent)
}

.award-card--featured {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    padding-block: var(--s-7);
    background: radial-gradient(60% 55% at 50% 0%, rgb(233 186 119 / .2), transparent 70%), linear-gradient(170deg, #43271ab3, #0a1c12cc)
}

.award-card--featured .award-card__trophy {
    width: 9rem
}

.award-card--featured .award-card__mark {
    width: 8rem;
    margin-bottom: -2rem
}

.award-card--featured .award-card__chair {
    width: 6.5rem
}

.award-card--featured .award-card__category {
    font-size: clamp(1.9rem, 3.4vw, 2.6rem)
}

.award-card--featured .award-card__recipient {
    font-size: 1.6rem
}

.news-grid {
    display: grid;
    gap: var(--s-7) var(--s-5)
}

@media(min-width:600px) {
    .news-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(min-width:1200px) {
    .news-grid {
        grid-template-columns: repeat(3, 1fr)
    }
}

.news-card__link {
    display: grid;
    gap: var(--s-4)
}

.news-card__media {
    overflow: hidden;
    border-radius: var(--r-sm)
}

.news-card__media .img img,
.news-card__media .frame {
    transition: transform 1.1s var(--ease-out)
}

.news-card__media .img {
    aspect-ratio: 16 / 10
}

.news-card__media .img img {
    object-position: center 30%
}

.news-card__link:hover .news-card__media .img img,
.news-card__link:hover .news-card__media .frame {
    transform: scale(1.04)
}

.news-card__body {
    display: grid;
    gap: var(--s-2)
}

.news-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-2) var(--s-4)
}

.news-card__cat {
    padding: .1rem .7rem;
    border-radius: var(--r-pill);
    font-size: var(--fs-meta);
    font-weight: 700;
    color: var(--accent);
    border: 1px solid var(--line-strong)
}

.news-card__title {
    font-family: var(--font-script);
    font-weight: 700;
    font-size: clamp(1.45rem, 2.4vw, 1.8rem);
    line-height: 1.45;
    text-wrap: balance;
    background: linear-gradient(currentColor, currentColor) right bottom / 0 1px no-repeat;
    transition: background-size var(--t-slow) var(--ease-out)
}

.news-card__link:hover .news-card__title {
    background-size: 100% 1px
}

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

@media(min-width:900px) {
    .news-card[data-size=lead] .news-card__link {
        grid-template-columns: 1.25fr 1fr;
        align-items: center;
        gap: var(--s-8)
    }

    .news-card[data-size=lead] .news-card__title {
        font-size: clamp(2rem, 3vw, 2.75rem)
    }
}

.editions-list {
    display: grid;
    gap: clamp(4rem, 10vw, 7rem)
}

.edition-card__link {
    position: relative;
    display: grid;
    gap: var(--s-6)
}

.edition-card__num {
    position: absolute;
    top: -.35em;
    inset-inline-end: 0;
    z-index: 0;
    font-family: var(--font-display);
    font-size: clamp(9rem, 34vw, 22rem);
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1.5px var(--line-strong);
    pointer-events: none;
    transition: -webkit-text-stroke-color var(--t-slow)
}

.edition-card__link:hover .edition-card__num {
    -webkit-text-stroke-color: var(--accent)
}

.edition-card__poster {
    position: relative;
    z-index: 1;
    width: min(100%, 26rem);
    overflow: hidden;
    border-radius: var(--r-sm);
    box-shadow: var(--shadow-lg);
    transition: transform var(--t-slow) var(--ease-out)
}

.edition-card__link:hover .edition-card__poster {
    transform: translateY(-6px) rotate(-1deg)
}

.edition-card__body {
    position: relative;
    z-index: 1;
    display: grid;
    gap: var(--s-3);
    align-content: center
}

.edition-card__title {
    font-family: var(--font-display);
    font-size: var(--fs-h2);
    line-height: 1.2;
    text-wrap: balance
}

.edition-card__meta {
    font-weight: 500;
    color: var(--text-muted)
}

.edition-card__cta {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    margin-top: var(--s-3);
    font-weight: 700;
    color: var(--accent)
}

.edition-card__cta svg {
    transition: transform var(--t-base) var(--ease-out)
}

.edition-card__link:hover .edition-card__cta svg {
    transform: translate(-6px)
}

@media(min-width:900px) {
    .edition-card__link {
        grid-template-columns: minmax(0, 24rem) 1fr;
        gap: var(--s-9);
        align-items: center
    }

    .editions-list>:nth-child(2n) .edition-card__link {
        grid-template-columns: 1fr minmax(0, 24rem)
    }

    .editions-list>:nth-child(2n) .edition-card__poster {
        order: 2
    }

    .editions-list>:nth-child(2n) .edition-card__num {
        inset-inline-end: auto;
        inset-inline-start: 0
    }
}

.edition-next {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 14rem;
    border: 1px dashed var(--line-strong);
    border-radius: var(--r-md);
    overflow: hidden
}

.edition-next .edition-card__num {
    position: static;
    font-size: clamp(6rem, 18vw, 10rem);
    margin-bottom: -2.5rem
}

.cast {
    display: grid;
    gap: clamp(4rem, 12vw, 8rem)
}

.person {
    display: grid;
    gap: var(--s-6)
}

.person__portrait {
    position: relative;
    width: min(100%, 24rem);
    border-radius: var(--r-sm);
    overflow: hidden
}

.person__beam {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: radial-gradient(70% 45% at 50% 0%, rgb(255 240 210 / .3), transparent 70%);
    mix-blend-mode: soft-light
}

.person__body {
    display: grid;
    gap: var(--s-3);
    align-content: center
}

.person__name {
    font-family: var(--font-display);
    font-size: var(--fs-h1);
    line-height: 1.15
}

.person__colon {
    color: var(--accent)
}

.person__bio {
    max-width: 34rem
}

.person__resume {
    display: grid;
    gap: var(--s-2);
    margin-top: var(--s-3);
    padding-inline-start: var(--s-5);
    border-inline-start: 2px solid var(--line-strong)
}

@media(min-width:900px) {
    .person {
        grid-template-columns: minmax(0, 22rem) 1fr;
        gap: var(--s-9);
        align-items: center
    }

    .person:nth-child(2n) {
        grid-template-columns: 1fr minmax(0, 22rem)
    }

    .person:nth-child(2n) .person__portrait {
        order: 2
    }
}

.video-grid {
    display: grid;
    gap: var(--s-6)
}

@media(min-width:900px) {
    .video-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

.video-card__btn {
    display: grid;
    gap: var(--s-3);
    width: 100%;
    text-align: start
}

.video-card__thumb {
    position: relative;
    overflow: hidden;
    border-radius: var(--r-sm)
}

.video-card__thumb .img {
    aspect-ratio: 16 / 9
}

.video-card__thumb .img img {
    object-position: center 35%
}

.video-card__thumb:after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, #06110b26, #06110b99)
}

.video-card__play {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    width: 4.5rem;
    height: 4.5rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: var(--stage-950);
    background: var(--light-300);
    box-shadow: 0 0 #e9ba7780;
    transform: translate(-50%, -50%);
    transition: transform var(--t-base) var(--ease-out);
    animation: pulse 2.8s var(--ease-soft) infinite
}

.video-card__btn:hover .video-card__play {
    transform: translate(-50%, -50%) scale(1.1)
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 #e9ba7773
    }

    70%,
    to {
        box-shadow: 0 0 0 22px #e9ba7700
    }
}

.video-card__body {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--s-3)
}

.video-card__title {
    font-family: var(--font-script);
    font-weight: 700;
    font-size: 1.45rem;
    line-height: 1.4
}

.masonry {
    columns: 2;
    column-gap: var(--s-3)
}

@media(min-width:600px) {
    .masonry {
        columns: 3;
        column-gap: var(--s-4)
    }
}

@media(min-width:1200px) {
    .masonry {
        columns: 4
    }
}

.masonry__item {
    break-inside: avoid;
    margin-bottom: var(--s-3)
}

@media(min-width:600px) {
    .masonry__item {
        margin-bottom: var(--s-4)
    }
}

.masonry__btn {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
    border-radius: var(--r-xs)
}

.masonry__btn .img img,
.masonry__btn .frame {
    transition: transform 1.1s var(--ease-out)
}

.masonry__btn:hover .img img,
.masonry__btn:hover .frame {
    transform: scale(1.04)
}

.masonry__caption {
    position: absolute;
    inset: auto 0 0;
    padding: var(--s-6) var(--s-3) var(--s-3);
    font-size: var(--fs-meta);
    text-align: start;
    color: var(--ivory);
    background: linear-gradient(0deg, rgb(6 17 11 / .9), transparent);
    opacity: 0;
    transform: translateY(.5rem);
    transition: opacity var(--t-base), transform var(--t-base) var(--ease-out)
}

.masonry__btn:hover .masonry__caption,
.masonry__btn:focus-visible .masonry__caption {
    opacity: 1;
    transform: none
}

.masonry__btn .frame+.masonry__caption {
    display: none
}

.modal {
    position: fixed;
    inset: 0;
    z-index: var(--z-modal);
    display: grid;
    grid-template-rows: 1fr auto;
    animation: modal-in .42s var(--ease-out)
}

@keyframes modal-in {
    0% {
        opacity: 0
    }
}

.modal__backdrop {
    position: absolute;
    inset: 0;
    background: #040b07f0;
    cursor: default;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px)
}

.modal__close {
    position: absolute;
    top: var(--s-4);
    left: var(--s-4);
    z-index: 3;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: var(--ivory);
    border: 1px solid rgb(244 237 223 / .3);
    background: #06110b80;
    transition: transform var(--t-base) var(--ease-out)
}

.modal__close:hover {
    transform: rotate(90deg)
}

.lightbox {
    grid-template-rows: 1fr auto
}

.lightbox__stage {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    min-height: 0;
    padding: 4.5rem var(--s-3) var(--s-3);
    pointer-events: none
}

.lightbox__figure {
    max-width: 100%;
    max-height: 100%;
    display: grid;
    place-items: center;
    min-height: 0;
    pointer-events: auto;
    animation: lb-in .52s var(--ease-out)
}

@keyframes lb-in {
    0% {
        opacity: 0;
        transform: scale(.96)
    }
}

.lightbox__zoomable {
    display: block;
    max-height: calc(100svh - 10rem);
    overflow: hidden;
    cursor: zoom-in;
    border-radius: var(--r-xs)
}

.lightbox__zoomable img {
    max-height: calc(100svh - 10rem);
    width: auto;
    object-fit: contain;
    transition: transform .5s var(--ease-out)
}

.lightbox__zoomable[data-zoom] {
    cursor: zoom-out
}

.lightbox__zoomable[data-zoom] img {
    transform: scale(2.2)
}

.lightbox__frame {
    width: min(88vw, calc((100svh - 11rem) * var(--ratio)))
}

.lightbox__bar {
    position: relative;
    z-index: 1;
    display: grid;
    gap: var(--s-3);
    padding: var(--s-3) var(--gutter) var(--s-5);
    color: var(--ivory)
}

.lightbox__caption {
    font-size: var(--fs-caption);
    color: var(--text-muted);
    text-align: center
}

.lightbox__controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--s-3)
}

.lightbox__controls .icon-btn {
    color: var(--ivory);
    border-color: #f4eddf4d
}

.lightbox__count {
    min-width: 4.5rem;
    text-align: center;
    font-size: var(--fs-meta);
    color: var(--text-muted)
}

@media(min-width:900px) {
    .lightbox__bar {
        grid-template-columns: 1fr auto;
        align-items: center
    }

    .lightbox__caption {
        text-align: start
    }
}

.video-modal {
    grid-template-rows: 1fr auto;
    place-items: center;
    padding: 4.5rem var(--gutter) var(--s-6)
}

.video-modal__screen {
    position: relative;
    z-index: 1;
    width: min(100%, 72rem, calc((100svh - 12rem) * 16 / 9));
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: var(--r-sm);
    box-shadow: var(--shadow-lg);
    animation: lb-in .52s var(--ease-out)
}

.video-modal__screen iframe,
.video-modal__screen video {
    width: 100%;
    height: 100%;
    border: 0
}

.video-modal__screen .frame {
    height: 100%
}

.video-modal__title {
    position: relative;
    z-index: 1;
    margin-top: var(--s-4);
    font-family: var(--font-script);
    font-weight: 700;
    font-size: 1.5rem;
    color: var(--ivory)
}

.accordion {
    border-top: 1px solid var(--line)
}

.accordion__item {
    border-bottom: 1px solid var(--line)
}

.accordion__trigger {
    width: 100%;
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-4);
    padding-block: var(--s-3);
    text-align: start
}

.accordion__title {
    font-family: var(--font-script);
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1.5
}

.accordion__icon {
    flex: none;
    color: var(--accent);
    transition: transform var(--t-base) var(--ease-out)
}

.accordion__item[data-open] .accordion__icon {
    transform: rotate(135deg)
}

.accordion__panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows var(--t-base) var(--ease-out)
}

.accordion__panel>div {
    overflow: hidden
}

.accordion__item[data-open] .accordion__panel {
    grid-template-rows: 1fr
}

.accordion__panel p {
    padding-bottom: var(--s-5)
}

.marquee {
    overflow: hidden;
    -webkit-mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent)
}

.marquee__track {
    display: flex;
    width: max-content;
    animation: marquee var(--speed) linear infinite
}

.marquee:hover .marquee__track,
.marquee:focus-within .marquee__track {
    animation-play-state: paused
}

.marquee__group {
    display: flex;
    gap: var(--s-4);
    padding-inline-end: var(--s-4)
}

@keyframes marquee {
    to {
        transform: translate(50%)
    }
}

@media(prefers-reduced-motion:reduce) {
    .marquee {
        overflow-x: auto
    }
}

.stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-top: var(--s-6);
    border-top: 1px solid var(--line)
}

.stat {
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
    gap: var(--s-1);
    padding: var(--s-6) var(--s-2) var(--s-5);
    border-bottom: 1px solid var(--line)
}

.stat:nth-child(odd) {
    border-inline-end: 1px solid var(--line);
    padding-inline-end: var(--s-4)
}

.stat:nth-child(2n) {
    padding-inline-start: var(--s-4)
}

.stat__value {
    font-family: var(--font-display);
    font-size: clamp(3.5rem, 13vw, 6.5rem);
    line-height: 1;
    color: var(--light-300)
}

.stat__pending {
    color: var(--text-faint);
    font-size: .6em
}

.stat__label {
    font-size: var(--fs-caption);
    color: var(--text-muted)
}

@media(min-width:900px) {
    .stats {
        grid-template-columns: repeat(4, 1fr)
    }

    .stat,
    .stat:nth-child(odd),
    .stat:nth-child(2n) {
        border-inline-end: 1px solid var(--line);
        padding-inline: var(--s-5)
    }

    .stat:last-child {
        border-inline-end: 0
    }
}

.timeline {
    position: relative;
    display: grid;
    gap: var(--s-7);
    padding-inline-start: var(--s-7)
}

.timeline:before {
    content: "";
    position: absolute;
    top: .75rem;
    bottom: .75rem;
    inset-inline-start: .45rem;
    width: 1px;
    background: linear-gradient(180deg, var(--line-strong), var(--line-strong) 80%, transparent)
}

.timeline__item {
    position: relative;
    display: grid;
    gap: var(--s-1)
}

.timeline__node {
    position: absolute;
    top: .55rem;
    inset-inline-start: calc(var(--s-7) * -1);
    width: .95rem;
    height: .95rem;
    border-radius: 50%;
    border: 1px solid var(--accent);
    background: var(--paper-100)
}

.timeline__item[data-state=past] .timeline__node {
    background: var(--accent)
}

.timeline__item[data-state=now] .timeline__node {
    background: var(--accent);
    box-shadow: 0 0 0 6px #6b3f2526
}

.timeline__item[data-state=next] {
    opacity: .7
}

.timeline__when {
    font-size: var(--fs-meta);
    font-weight: 700;
    color: var(--accent)
}

.timeline__title a {
    background: linear-gradient(currentColor, currentColor) right bottom / 0 1px no-repeat;
    transition: background-size var(--t-base) var(--ease-out)
}

.timeline__title a:hover {
    background-size: 100% 1px
}

.socials {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2) var(--s-5)
}

.socials__link {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    min-height: 44px;
    font-size: var(--fs-meta);
    color: var(--text-muted);
    transition: color var(--t-fast)
}

a.socials__link:hover {
    color: var(--accent)
}

.socials__link.is-pending {
    opacity: .6;
    cursor: default
}

.socials__icon {
    display: grid;
    place-items: center
}

.socials__text {
    display: grid;
    line-height: 1.5
}

.socials[data-variant=icons] {
    gap: var(--s-2);
    margin-top: var(--s-4)
}

.socials[data-variant=icons] .socials__label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0)
}

.socials[data-variant=icons] .socials__link {
    width: 44px;
    justify-content: center;
    border: 1px solid var(--line-strong);
    border-radius: 50%
}

.socials[data-variant=list] {
    display: grid;
    gap: var(--s-2)
}

.socials[data-variant=list] .socials__link {
    width: 100%;
    padding: var(--s-3) var(--s-4);
    border: 1px solid var(--line);
    border-radius: var(--r-md)
}

.socials[data-variant=list] .socials__icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--line-strong);
    color: var(--accent)
}

.socials[data-variant=list] .socials__label {
    font-weight: 700;
    font-size: var(--fs-caption);
    color: var(--text)
}

.footer {
    position: relative;
    overflow: hidden;
    padding-block: var(--s-9) var(--s-5);
    border-top: 1px solid var(--line)
}

.footer__beam {
    position: absolute;
    top: 0;
    left: 50%;
    width: min(120vw, 60rem);
    height: 100%;
    transform: translate(-50%);
    background: linear-gradient(180deg, rgb(233 186 119 / .08), transparent 70%);
    clip-path: polygon(44% 0, 56% 0, 100% 100%, 0 100%);
    pointer-events: none
}

.footer__grid {
    position: relative;
    display: grid;
    gap: var(--s-7)
}

.footer__brand {
    display: grid;
    align-content: start;
    gap: var(--s-3);
    max-width: 26rem
}

.footer__logo {
    width: 8.5rem
}

.footer__name {
    font-family: var(--font-display);
    font-size: 1.5rem;
    line-height: 1.4
}

.footer__col {
    display: grid;
    align-content: start;
    gap: var(--s-3)
}

.footer__col>ul:not(.socials) {
    display: grid;
    gap: var(--s-1)
}

.footer__title {
    font-size: var(--fs-meta);
    font-weight: 700;
    color: var(--accent)
}

.footer__link {
    display: inline-block;
    padding-block: var(--s-1);
    font-size: var(--fs-caption);
    color: var(--text-muted);
    transition: color var(--t-fast), transform var(--t-base) var(--ease-out)
}

.footer__link:hover {
    color: var(--text);
    transform: translate(-4px)
}

.footer__contact li {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    font-size: var(--fs-caption);
    color: var(--text-muted)
}

.footer__contact svg {
    flex: none;
    color: var(--accent)
}

.footer__bottom {
    position: relative;
    display: grid;
    gap: var(--s-2);
    margin-top: var(--s-8);
    padding-top: var(--s-5);
    border-top: 1px solid var(--line);
    font-size: var(--fs-meta);
    color: var(--text-faint)
}

@media(min-width:600px) {
    .footer__grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .footer__brand {
        grid-column: 1 / -1
    }
}

@media(min-width:1200px) {
    .footer__grid {
        grid-template-columns: 1.6fr 1fr 1fr 1.2fr
    }

    .footer__brand {
        grid-column: auto
    }

    .footer__bottom {
        grid-template-columns: 1fr auto
    }
}

.cursor-dot,
.cursor-ring {
    display: none
}

.has-cursor .cursor-dot,
.has-cursor .cursor-ring {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--z-cursor);
    pointer-events: none
}

.has-cursor .cursor-dot {
    width: 6px;
    height: 6px;
    margin: -3px 0 0 -3px;
    border-radius: 50%;
    background: var(--light-300)
}

.has-cursor .cursor-ring {
    width: 36px;
    height: 36px;
    margin: -18px 0 0 -18px
}

.cursor-ring:before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 1px solid rgb(233 186 119 / .55);
    transition: transform .45s var(--ease-out), background-color .3s, border-color .3s, opacity .3s
}

.cursor-ring__text {
    position: absolute;
    inset: -1.5rem;
    white-space: nowrap;
    display: grid;
    place-items: center;
    font-size: var(--fs-meta);
    font-weight: 700;
    color: var(--stage-950);
    opacity: 0;
    transition: opacity .25s
}

.cursor-ring[data-mode=link]:before {
    transform: scale(1.6);
    background: #e9ba771f
}

.cursor-ring[data-mode=view]:before,
.cursor-ring[data-mode=play]:before {
    transform: scale(2.4);
    background: var(--light-300);
    border-color: transparent
}

.cursor-ring[data-mode=view] .cursor-ring__text {
    opacity: 1
}

.cursor-ring[data-mode=zoom]:before {
    transform: scale(1.3)
}

.cursor-ring[data-mode=hidden]:before {
    opacity: 0
}

.cursor-ring.is-down:before {
    transform: scale(.8)
}

.loader {
    position: fixed;
    inset: 0;
    z-index: var(--z-loader);
    display: grid;
    place-items: center;
    background: var(--stage-950);
    transition: clip-path .9s var(--ease-curtain), opacity .4s .5s;
    clip-path: inset(0 0 0 0)
}

.loader[data-state=out] {
    clip-path: inset(0 0 100% 0)
}

.loader__light {
    position: absolute;
    width: 140vmax;
    aspect-ratio: 1;
    background: radial-gradient(closest-side, rgb(233 186 119 / .22), transparent 55%);
    animation: loader-light 1.2s var(--ease-out) both
}

.loader__mark {
    width: min(52vw, 18rem);
    animation: loader-mark 1.1s var(--ease-out) .15s both
}

@keyframes loader-light {
    0% {
        transform: scale(.2);
        opacity: 0
    }
}

@keyframes loader-mark {
    0% {
        opacity: 0;
        transform: translateY(12px) scale(.96);
        filter: blur(6px)
    }
}

.scene-curtain {
    position: fixed;
    inset: 0;
    z-index: var(--z-transition);
    pointer-events: none;
    background: repeating-linear-gradient(90deg, rgb(0 0 0 / .22) 0 2px, transparent 2px 38px, rgb(255 255 255 / .025) 38px 44px, transparent 44px 70px), linear-gradient(180deg, var(--stage-700), var(--stage-950));
    transform-origin: top;
    animation: curtain-rise .9s var(--ease-curtain) both
}

@keyframes curtain-rise {

    0%,
    15% {
        transform: scaleY(1)
    }

    to {
        transform: scaleY(0)
    }
}

.scene {
    animation: scene-in .9s var(--ease-out) both
}

@keyframes scene-in {
    0% {
        opacity: .4
    }
}

main:focus {
    outline: none
}

.section--flush-top {
    padding-top: 0
}

.hero {
    --px: 0;
    --py: 0;
    --scroll: 0;
    position: relative;
    min-height: 100svh;
    overflow: hidden;
    padding-top: var(--header-h);
    background: radial-gradient(80% 60% at 50% 100%, var(--stage-600), transparent 70%), radial-gradient(60% 50% at 50% 0%, var(--stage-700), transparent 80%), var(--stage-900)
}

.hero:after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: radial-gradient(120% 90% at 50% 40%, transparent 55%, rgb(4 11 7 / .7))
}

.hero__beam-wrap {
    --beam-x: 50%;
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    transform-origin: var(--beam-x) 0;
    transform: rotate(calc(var(--px) * -2.5deg));
    transition: transform 1.4s var(--ease-out)
}

.hero__beam {
    position: absolute;
    top: -2%;
    left: var(--beam-x);
    width: min(170vw, 62rem);
    height: 104%;
    transform-origin: 50% 0;
    translate: -50% 0;
    clip-path: polygon(44% 0, 56% 0, 100% 100%, 0 100%);
    background: linear-gradient(180deg, rgb(243 217 174 / .34), rgb(233 186 119 / .16) 50%, rgb(233 186 119 / .04) 85%, transparent);
    -webkit-mask: linear-gradient(90deg, transparent, #000 25%, #000 75%, transparent);
    mask: linear-gradient(90deg, transparent, #000 25%, #000 75%, transparent);
    animation: beam-on 1.6s var(--ease-out) .2s both, beam-sway 14s ease-in-out 1.8s infinite alternate
}

@keyframes beam-on {
    0% {
        opacity: 0;
        clip-path: polygon(49.5% 0, 50.5% 0, 50.5% 100%, 49.5% 100%)
    }
}

@keyframes beam-sway {
    0% {
        transform: rotate(-1.6deg)
    }

    to {
        transform: rotate(1.6deg)
    }
}

.hero__dust {
    position: absolute;
    top: 6%;
    left: var(--beam-x);
    width: min(80vw, 34rem);
    height: 82%;
    translate: -50% 0
}

.hero__dust span {
    position: absolute;
    left: var(--x);
    top: var(--y);
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    background: var(--light-100);
    box-shadow: 0 0 6px #fbefd9cc;
    opacity: 0;
    animation: mote var(--dur) linear var(--delay) infinite;
    will-change: transform, opacity
}

@keyframes mote {
    0% {
        transform: translate3d(0, 20px, 0);
        opacity: 0
    }

    20% {
        opacity: .75
    }

    80% {
        opacity: .5
    }

    to {
        transform: translate3d(14px, -90px, 0);
        opacity: 0
    }
}

.hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    min-height: calc(100svh - var(--header-h));
    grid-template-rows: auto 1fr
}

.hero__copy {
    display: grid;
    justify-items: center;
    text-align: center;
    padding-top: clamp(1.5rem, 6vh, 3.5rem)
}

.hero__org {
    font-size: var(--fs-meta);
    line-height: 1.8;
    color: var(--text-muted);
    animation: rise 1s var(--ease-out) .5s both
}

.hero__title {
    margin-top: var(--s-4)
}

.hero__mark {
    width: min(74vw, 27rem);
    filter: drop-shadow(0 14px 30px rgb(0 0 0 / .45));
    animation: mark-in 1.6s var(--ease-out) .7s both
}

@keyframes mark-in {
    0% {
        opacity: 0;
        transform: translateY(24px) scale(.94);
        filter: blur(10px)
    }
}

.hero__kind {
    margin-top: calc(var(--s-3) * -1);
    font-family: var(--font-display);
    font-size: clamp(2rem, 8.6vw, 3.5rem);
    line-height: 1.2;
    color: var(--ivory);
    animation: rise 1.1s var(--ease-out) 1s both
}

.hero__slogan {
    margin-top: var(--s-2);
    font-family: var(--font-script);
    font-weight: 600;
    font-size: clamp(1.35rem, 4.4vw, 1.85rem);
    line-height: 1.6;
    color: var(--light-200);
    animation: rise 1.1s var(--ease-out) 1.15s both
}

.hero__ctas {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--s-3);
    margin-top: var(--s-6);
    animation: rise 1.1s var(--ease-out) 1.3s both
}

.hero__meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--s-2) var(--s-6);
    margin-top: var(--s-6);
    animation: rise 1.1s var(--ease-out) 1.45s both
}

.hero__meta div {
    display: grid
}

.hero__meta dt {
    font-size: var(--fs-meta);
    color: var(--text-faint)
}

.hero__meta dd {
    font-size: var(--fs-caption);
    font-weight: 700
}

@keyframes rise {
    0% {
        opacity: 0;
        transform: translate3d(0, 18px, 0)
    }
}

.hero__stage {
    align-self: end;
    justify-self: center;
    width: min(100% + var(--gutter) * 2, 40rem);
    margin-top: var(--s-6);
    margin-inline: calc(var(--gutter) * -1);
    -webkit-mask: radial-gradient(ellipse 50% 58% at 50% 62%, #000 45%, transparent 100%);
    mask: radial-gradient(ellipse 50% 58% at 50% 62%, #000 45%, transparent 100%);
    transform: translate3d(0, calc(var(--scroll) * 60px), 0);
    animation: stage-in 1.8s var(--ease-out) .4s both
}

@keyframes stage-in {
    0% {
        opacity: 0;
        transform: translate3d(0, 40px, 0)
    }
}

.hero__stage .img {
    background: none
}

.hero__cue {
    position: absolute;
    z-index: 3;
    bottom: var(--s-5);
    left: 50%;
    width: 44px;
    height: 44px;
    translate: -50% 0;
    display: none;
    place-items: center
}

.hero__cue span {
    width: 1px;
    height: 38px;
    background: linear-gradient(180deg, transparent, var(--light-300));
    animation: cue 2.4s var(--ease-soft) infinite;
    transform-origin: top
}

@keyframes cue {
    0% {
        transform: scaleY(0)
    }

    50% {
        transform: scaleY(1);
        transform-origin: top
    }

    51% {
        transform-origin: bottom
    }

    to {
        transform: scaleY(0);
        transform-origin: bottom
    }
}

@media(min-width:900px) {
    .hero__beam-wrap {
        --beam-x: 28%
    }

    .hero__grid {
        grid-template-columns: 1.05fr 1fr;
        grid-template-rows: 1fr;
        align-items: center;
        gap: var(--s-7)
    }

    .hero__copy {
        justify-items: start;
        text-align: start;
        padding-block: var(--s-6)
    }

    .hero__ctas,
    .hero__meta {
        margin-top: var(--s-5)
    }

    .hero__mark {
        width: min(34vw, 29rem, 46vh);
        margin-inline-start: -1.5rem
    }

    .hero__ctas,
    .hero__meta {
        justify-content: flex-start
    }

    .hero__stage {
        align-self: end;
        width: 100%;
        margin: 0;
        max-width: min(44rem, 110vh);
        justify-self: center
    }

    .hero__cue {
        display: grid
    }
}

.intro__grid {
    display: grid;
    gap: var(--s-6)
}

.intro__title {
    color: var(--stage-800)
}

.intro__text {
    display: grid;
    gap: var(--s-5);
    align-content: start
}

.intro__lead {
    color: var(--ink-900)
}

@media(min-width:900px) {
    .intro__grid {
        grid-template-columns: 1.1fr 1fr;
        gap: var(--s-9);
        align-items: end
    }
}

.glance {
    border-block: 1px solid var(--line)
}

.latest__grid {
    display: grid;
    gap: var(--s-7)
}

.latest__poster-wrap {
    border-radius: var(--r-sm);
    max-width: 30rem;
    width: 100%;
    justify-self: center
}

.latest__poster {
    --px: 0;
    --py: 0;
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: var(--r-sm);
    box-shadow: var(--shadow-lg);
    transform: perspective(1000px) rotateY(calc(var(--px) * -4deg)) rotateX(calc(var(--py) * 4deg));
    transition: transform .9s var(--ease-out)
}

.latest__glare {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at calc(50% + var(--px) * 40%) calc(50% + var(--py) * 40%), rgb(255 245 225 / .18), transparent 50%);
    pointer-events: none
}

.latest__copy {
    display: grid;
    gap: var(--s-4);
    align-content: center
}

.latest__slogan {
    font-family: var(--font-script);
    font-weight: 600;
    font-size: var(--fs-lead);
    line-height: 1.6;
    color: var(--light-200)
}

.latest__thumbs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--s-2);
    max-width: 26rem
}

.latest__thumbs button {
    display: block;
    width: 100%;
    overflow: hidden;
    border-radius: var(--r-xs)
}

.latest__thumbs .frame__label {
    display: none
}

.latest__thumbs .frame__chair {
    width: 30%
}

@media(min-width:900px) {
    .latest__grid {
        grid-template-columns: minmax(0, .9fr) 1fr;
        gap: var(--s-9);
        align-items: center
    }
}

.gallery-preview {
    overflow: hidden
}

.gp-item {
    flex: none;
    height: clamp(13rem, 34vw, 20rem);
    aspect-ratio: var(--ratio);
    overflow: hidden;
    border-radius: var(--r-xs)
}

.gp-item .img,
.gp-item .frame {
    height: 100%;
    transition: transform 1s var(--ease-out)
}

.gp-item:hover .img,
.gp-item:hover .frame {
    transform: scale(1.04)
}

.finale {
    overflow: hidden;
    text-align: center
}

.finale__beam {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgb(233 186 119 / .2), transparent 75%);
    clip-path: polygon(46% 0, 54% 0, 78% 100%, 22% 100%)
}

.finale__inner {
    position: relative;
    display: grid;
    justify-items: center;
    gap: var(--s-4)
}

.finale__mark {
    width: 7rem
}

.finale__title {
    color: var(--light-100)
}

.finale__ctas {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--s-3);
    margin-top: var(--s-4)
}

.page-hero {
    position: relative;
    overflow: hidden;
    padding-top: calc(var(--header-h) + clamp(2.5rem, 8vw, 5rem));
    padding-bottom: clamp(3rem, 8vw, 5.5rem)
}

.page-hero__beam {
    position: absolute;
    top: 0;
    inset-inline-start: 8%;
    width: min(90vw, 40rem);
    height: 100%;
    background: linear-gradient(180deg, rgb(233 186 119 / .2), transparent 85%);
    clip-path: polygon(40% 0, 60% 0, 100% 100%, 0 100%);
    pointer-events: none;
    animation: beam-on 1.4s var(--ease-out) both
}

.page-hero__grid {
    position: relative;
    display: grid;
    gap: var(--s-6)
}

.page-hero__copy {
    display: grid;
    gap: var(--s-4);
    align-content: start;
    min-width: 0
}

.page-hero__title {
    color: var(--ivory)
}

.page-hero__lead {
    max-width: 40rem
}

.page-hero__aside {
    border-radius: var(--r-sm)
}

@media(min-width:900px) {
    .page-hero__grid.has-aside {
        grid-template-columns: 1.3fr 1fr;
        align-items: end
    }
}

.vows {
    display: grid;
    gap: var(--s-6)
}

.vow {
    position: relative;
    display: grid;
    gap: var(--s-3);
    padding-top: var(--s-5);
    border-top: 2px solid var(--stage-800)
}

.vow__num {
    font-family: var(--font-display);
    font-size: 3.5rem;
    line-height: 1;
    color: var(--bronze-500)
}

.vow__title {
    font-family: var(--font-display);
    font-size: clamp(1.7rem, 3vw, 2.2rem);
    line-height: 1.3;
    color: var(--stage-800)
}

@media(min-width:900px) {
    .vows {
        grid-template-columns: repeat(3, 1fr);
        gap: var(--s-7)
    }
}

.approach__grid {
    display: grid;
    gap: var(--s-4)
}

.approach__body {
    display: grid;
    gap: var(--s-5)
}

.approach__points {
    display: grid;
    gap: var(--s-3)
}

.approach__points li {
    display: flex;
    gap: var(--s-3);
    align-items: baseline;
    padding-bottom: var(--s-3);
    border-bottom: 1px solid var(--line)
}

.approach__points li:before {
    content: "";
    flex: none;
    width: .5rem;
    height: .5rem;
    border-radius: 50%;
    background: var(--light-300);
    transform: translateY(-.15rem)
}

@media(min-width:900px) {
    .approach__grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--s-9)
    }
}

.script-page {
    position: relative;
    display: grid;
    gap: var(--s-4);
    padding: clamp(2rem, 6vw, 4rem) clamp(1.5rem, 6vw, 4.5rem);
    background: #f8f3e8;
    box-shadow: 0 1px 0 var(--paper-300), 0 30px 60px -30px #43271a59;
    border-radius: var(--r-xs);
    transform: rotate(-.6deg)
}

.script-page:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    inset-inline-start: clamp(.75rem, 3vw, 2rem);
    width: 1px;
    background: #a8743759
}

.script-page__text {
    color: var(--ink-900)
}

.slogan-band {
    position: relative;
    overflow: hidden;
    text-align: center
}

.slogan-band__beam {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgb(233 186 119 / .18), transparent 80%);
    clip-path: polygon(45% 0, 55% 0, 85% 100%, 15% 100%)
}

.slogan-band .container {
    position: relative;
    display: grid;
    justify-items: center;
    gap: var(--s-4)
}

.slogan-band__quote {
    font-family: var(--font-display);
    font-size: var(--fs-h1);
    line-height: 1.25;
    color: var(--light-100);
    text-wrap: balance
}

.dedication__grid {
    display: grid;
    gap: var(--s-6);
    align-items: center
}

.dedication__chair {
    position: relative;
    width: 10rem;
    color: var(--bronze-400);
    justify-self: center
}

.dedication__beam {
    position: absolute;
    bottom: 10%;
    left: 50%;
    width: 18rem;
    height: 22rem;
    translate: -50% 0;
    background: linear-gradient(180deg, transparent, rgb(233 186 119 / .18));
    clip-path: polygon(42% 0, 58% 0, 100% 100%, 0 100%)
}

.dedication__grid>div {
    display: grid;
    gap: var(--s-3)
}

@media(min-width:900px) {
    .dedication__grid {
        grid-template-columns: 16rem 1fr;
        gap: var(--s-9)
    }
}

.about-sign {
    display: flex;
    align-items: center;
    gap: var(--s-4);
    margin-top: var(--s-8);
    padding-top: var(--s-5);
    border-top: 1px solid var(--line)
}

.about-sign .logo-mark {
    width: 5rem
}

.work-hero {
    position: relative;
    overflow: hidden;
    padding-top: calc(var(--header-h) + var(--s-6));
    padding-bottom: var(--section-y)
}

.work-hero__grid {
    position: relative;
    display: grid;
    gap: var(--s-7)
}

.work-hero__poster {
    width: min(100%, 24rem);
    border-radius: var(--r-sm);
    box-shadow: var(--shadow-lg)
}

.work-hero__copy {
    display: grid;
    gap: var(--s-4);
    align-content: center;
    justify-items: start
}

.credits {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--s-4);
    width: 100%;
    padding-block: var(--s-4);
    border-block: 1px solid var(--line)
}

.credits dt {
    font-size: var(--fs-meta);
    color: var(--text-faint)
}

.credits dd {
    font-weight: 700
}

.credits__wide {
    grid-column: 1 / -1
}

.work-desc {
    margin-top: var(--s-3);
    color: var(--ink-900)
}

.work-photos {
    display: grid;
    gap: var(--s-3);
    margin-top: var(--s-8)
}

.work-photos button {
    display: block;
    width: 100%
}

@media(min-width:600px) {
    .work-photos {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media(min-width:900px) {
    .work-hero__grid {
        grid-template-columns: minmax(0, 24rem) 1fr;
        gap: var(--s-9)
    }
}

.edition-hero {
    position: relative;
    overflow: hidden;
    padding-top: calc(var(--header-h) + var(--s-6));
    padding-bottom: var(--section-y)
}

.edition-hero__num {
    position: absolute;
    bottom: -.25em;
    left: -.05em;
    font-family: var(--font-display);
    font-size: clamp(16rem, 60vw, 44rem);
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1.5px rgb(233 186 119 / .16);
    pointer-events: none
}

.edition-hero__grid {
    position: relative;
    display: grid;
    gap: var(--s-7)
}

.edition-hero__copy {
    display: grid;
    gap: var(--s-4);
    align-content: center;
    min-width: 0
}

.edition-hero__slogan {
    font-family: var(--font-script);
    font-weight: 600;
    font-size: var(--fs-lead);
    line-height: 1.6;
    color: var(--light-200)
}

.edition-hero__poster {
    width: min(100%, 28rem);
    justify-self: center;
    border-radius: var(--r-sm);
    box-shadow: var(--shadow-lg)
}

@media(min-width:900px) {
    .edition-hero__grid {
        grid-template-columns: 1.2fr minmax(0, 26rem);
        gap: var(--s-9)
    }
}

.subnav {
    position: sticky;
    top: 0;
    z-index: 40;
    background: #06110be6;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-block: 1px solid var(--line)
}

.subnav__inner {
    display: flex;
    gap: var(--s-1);
    overflow-x: auto;
    scrollbar-width: none
}

.subnav__inner::-webkit-scrollbar {
    display: none
}

.subnav a {
    flex: none;
    display: inline-flex;
    align-items: center;
    min-height: 52px;
    padding-inline: var(--s-4);
    font-size: var(--fs-meta);
    font-weight: 500;
    color: var(--text-muted);
    transition: color var(--t-fast)
}

.subnav a:hover {
    color: var(--light-300)
}

.edition-desc {
    margin-top: var(--s-5)
}

.jury-title {
    margin-top: var(--s-8);
    margin-bottom: var(--s-4)
}

.jury {
    display: grid;
    gap: var(--s-3)
}

.jury li {
    display: flex;
    justify-content: space-between;
    gap: var(--s-4);
    padding-bottom: var(--s-3);
    border-bottom: 1px solid var(--line)
}

.jury__name {
    font-family: var(--font-script);
    font-weight: 700;
    font-size: 1.3rem
}

#intro,
#works,
#groups,
#awards,
#photos,
#video,
#news {
    scroll-margin-top: 3.5rem
}

.edition-pager {
    padding-block: var(--s-6);
    border-top: 1px solid var(--line)
}

.edition-pager__inner {
    display: flex;
    justify-content: space-between;
    gap: var(--s-4)
}

.edition-pager__link {
    display: inline-flex;
    align-items: center;
    gap: var(--s-3);
    min-height: 56px;
    transition: color var(--t-fast)
}

.edition-pager__link>span {
    display: grid
}

.edition-pager__link:hover {
    color: var(--light-300)
}

.edition-pager__link--next {
    text-align: left
}

.edition-pager__title {
    font-family: var(--font-display);
    font-size: 1.5rem;
    line-height: 1.3
}

.course-grid {
    display: grid;
    gap: var(--s-5)
}

@media(min-width:900px) {
    .course-grid {
        grid-template-columns: 1fr 1fr
    }
}

.course-card {
    position: relative;
    height: 100%;
    display: grid;
    align-content: start;
    gap: var(--s-4);
    padding: clamp(1.5rem, 4vw, 2.75rem);
    overflow: hidden;
    border-radius: var(--r-md);
    background: #f8f3e8;
    box-shadow: 0 30px 60px -36px #43271a73;
    border: 1px solid var(--line);
    transition: transform var(--t-base) var(--ease-out), box-shadow var(--t-base)
}

.course-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 40px 70px -36px #43271a8c
}

.course-card__level {
    justify-self: start;
    padding: .15rem .85rem;
    border-radius: var(--r-pill);
    font-size: var(--fs-meta);
    font-weight: 700;
    color: var(--ivory);
    background: var(--stage-800)
}

.course-card__title {
    font-family: var(--font-display);
    font-size: var(--fs-h3);
    line-height: 1.35;
    color: var(--stage-800)
}

.course-card__facts {
    display: grid;
    gap: var(--s-2);
    padding-block: var(--s-4);
    border-block: 1px solid var(--line)
}

.course-card__facts li {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    font-size: var(--fs-caption)
}

.course-card__facts svg {
    color: var(--accent);
    flex: none
}

.course-card__ctas {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-3);
    margin-top: var(--s-2)
}

.course-detail {
    display: grid;
    gap: var(--s-8)
}

.course-detail__main {
    display: grid;
    gap: var(--s-7)
}

.course-detail__main .section-heading {
    margin-bottom: 0
}

.course-detail__aside {
    display: grid;
    gap: var(--s-5);
    align-content: start;
    padding: var(--s-6);
    border-radius: var(--r-md);
    background: #f8f3e8;
    border: 1px solid var(--line)
}

@media(min-width:900px) {
    .course-detail {
        grid-template-columns: 1fr 22rem;
        gap: var(--s-9)
    }

    .course-detail__aside {
        position: sticky;
        top: calc(var(--header-h) + var(--s-4))
    }
}

.article-hero {
    position: relative;
    overflow: hidden;
    padding-top: calc(var(--header-h) + var(--s-7));
    padding-bottom: var(--s-8)
}

.article-hero .container {
    position: relative;
    display: grid;
    gap: var(--s-4)
}

.article-hero__title {
    color: var(--ivory)
}

.article-body {
    padding-bottom: var(--section-y)
}

.article-body__media {
    margin-top: calc(var(--s-6) * -1);
    border-radius: var(--r-sm);
    box-shadow: var(--shadow-lg);
    max-height: 80svh
}

.article-body__media .img {
    max-height: 80svh
}

.article-body__media .img img {
    object-fit: contain
}

.article-body__lead {
    margin-block: var(--s-7) var(--s-5);
    color: var(--ink-900)
}

.prose {
    display: grid;
    gap: var(--s-5);
    font-size: 1.125rem;
    line-height: 2.05;
    color: var(--ink-700)
}

.prose h2 {
    margin-top: var(--s-4);
    font-family: var(--font-display);
    font-size: clamp(1.6rem, 3vw, 2rem);
    line-height: 1.4;
    color: var(--stage-800)
}

.prose blockquote {
    padding-inline-start: var(--s-5);
    border-inline-start: 3px solid var(--bronze-500);
    font-family: var(--font-script);
    font-weight: 600;
    font-size: var(--fs-lead);
    line-height: 1.7;
    color: var(--walnut-700)
}

.news-lead {
    margin-bottom: var(--s-8);
    padding-bottom: var(--s-8);
    border-bottom: 1px solid var(--line)
}

.contact {
    display: grid;
    gap: var(--s-8)
}

.contact__rows {
    display: grid;
    align-content: start
}

.contact__row {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    column-gap: var(--s-4);
    padding-block: var(--s-5);
    border-bottom: 1px solid var(--line)
}

.contact__icon {
    grid-row: span 2;
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: var(--ivory);
    background: var(--stage-800)
}

.contact__value {
    font-family: var(--font-script);
    font-weight: 700;
    font-size: clamp(1.4rem, 3vw, 1.9rem);
    line-height: 1.4;
    overflow-wrap: anywhere
}

.contact__side {
    display: grid;
    gap: var(--s-4);
    align-content: start
}

.contact__map {
    margin-top: var(--s-4);
    overflow: hidden;
    border-radius: var(--r-md)
}

.contact__map iframe {
    width: 100%;
    aspect-ratio: 16 / 10;
    border: 0
}

@media(min-width:900px) {
    .contact {
        grid-template-columns: 1.1fr 1fr;
        gap: var(--s-9)
    }
}

.not-found {
    position: relative;
    min-height: 100svh;
    display: grid;
    align-content: end;
    justify-items: center;
    overflow: hidden;
    padding-top: calc(var(--header-h) + var(--s-6));
    padding-bottom: var(--s-9);
    text-align: center
}

.not-found__beam {
    position: absolute;
    top: 0;
    left: 50%;
    width: min(140vw, 52rem);
    height: 78%;
    translate: -50% 0;
    background: linear-gradient(180deg, rgb(243 217 174 / .32), rgb(233 186 119 / .12) 70%, transparent);
    clip-path: polygon(45% 0, 55% 0, 78% 100%, 22% 100%);
    animation: beam-on 1.6s var(--ease-out) both, flicker 6s steps(1) 2s infinite
}

@keyframes flicker {

    0%,
    to {
        opacity: 1
    }

    92% {
        opacity: .75
    }

    93% {
        opacity: 1
    }

    95% {
        opacity: .85
    }
}

.not-found__floor {
    position: absolute;
    left: 50%;
    top: 70%;
    width: min(90vw, 34rem);
    height: 5rem;
    translate: -50% -50%;
    border-radius: 50%;
    background: radial-gradient(closest-side, rgb(233 186 119 / .3), transparent)
}

.not-found__chair {
    position: absolute;
    top: 42%;
    left: 50%;
    width: clamp(5rem, 16vw, 8rem);
    translate: -50% 0;
    color: var(--bronze-400)
}

.not-found__copy {
    position: relative;
    display: grid;
    gap: var(--s-4);
    justify-items: center;
    padding-top: 70svh
}

.not-found__ctas {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--s-3);
    margin-top: var(--s-3)
}

/* edition one keeps its own paper-and-walnut stage */
.logo .logo-mark {
    aspect-ratio: auto
}

.hero__mark.logo-mark {
    aspect-ratio: auto
}

/* first edition palette, deliberately warmer than the current green festival theme */
html[data-ed="1"] {
    --stage-950: #24150e;
    --stage-900: #43271a;
    --stage-800: #5b3823;
    --stage-700: #765035;
    --stage-600: #946b4c;
    --stage-500: #ad8564;
    --light-100: #fbf7ee;
    --light-200: #ead8c2;
    --light-300: #d1a77e;
    --bronze-400: #b8794e;
    --bronze-500: #965d3d;
    --bronze-700: #6e3f2b;
    --walnut-500: #754630;
    --walnut-700: #4a2c20;
    --walnut-900: #2b1912;
    --ivory: #f6f0e7;
    --bg: var(--stage-900);
    --surface: var(--stage-800);
    --surface-2: var(--stage-700);
    --text: var(--ivory);
    --accent: var(--light-300);
    --accent-strong: var(--bronze-400);
    --line: rgb(234 216 194 / .2);
    --line-strong: rgb(234 216 194 / .4)
}

html[data-ed="1"] .paper {
    --paper-100: #f1ebe3;
    --paper-200: #e6d8cc;
    --paper-300: #d1bbaa;
    --ink-900: #2b211d;
    --ink-700: #4a382f;
    --ink-500: #755f52;
    --accent: var(--walnut-500);
    --accent-strong: var(--bronze-700);
    background: radial-gradient(120% 80% at 80% 0%, rgb(255 255 255 / .7), transparent 60%), radial-gradient(90% 70% at 0% 100%, rgb(167 140 100 / .14), transparent 60%), #f1ebe3
}

html[data-ed="1"] .stage,
html[data-ed="1"] .stage--deep {
    background: radial-gradient(70% 55% at 50% -10%, rgb(234 216 194 / .12), transparent 70%), radial-gradient(90% 70% at 50% 120%, var(--stage-700), transparent 70%), var(--stage-950)
}

html[data-ed="1"] .subnav {
    background: #2b1912e6
}

.schedule {
    display: grid;
    gap: var(--s-7)
}

.schedule__day {
    overflow: auto
}

.schedule__title {
    margin-bottom: var(--s-3)
}

.schedule__table {
    width: 100%;
    min-width: 560px;
    border-collapse: collapse;
    background: var(--paper)
}

.schedule__table th,
.schedule__table td {
    padding: var(--s-3);
    border: 1px solid var(--line);
    text-align: right
}

.schedule__table th {
    font-size: var(--fs-meta);
    color: var(--text-faint)
}

.schedule__note {
    font-family: var(--font-script);
    font-weight: 700;
    font-size: 1.4rem;
    color: var(--accent)
}

.awards__group {
    margin-top: var(--s-7)
}

.awards__group-title {
    border-bottom: 1px solid var(--line);
    padding-bottom: var(--s-3)
}

.award-card__rank {
    margin-top: var(--s-2)
}

.work-photos:empty {
    display: none
}

.edition-desc+.edition-desc {
    margin-top: var(--s-4)
}

.slogan-band__quote {
    display: grid;
    justify-items: center;
    gap: .15em;
    font-family: var(--font-script);
    font-weight: 700;
    line-height: 1.15;
    color: var(--light-100)
}

.slogan-band__lead {
    font-size: clamp(3.2rem, 9vw, 7rem);
    background: linear-gradient(180deg, #f3d9a4, #c9974f);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    letter-spacing: -.01em
}

.slogan-band__rest {
    font-size: clamp(1.8rem, 4.4vw, 3.4rem);
    font-weight: 500;
    opacity: .92
}

.script-page__text+.script-page__text {
    margin-top: var(--s-4)
}

.approach__body {
    display: grid;
    gap: var(--s-5)
}

.approach__body strong {
    color: var(--accent);
    font-weight: 700
}

.approach__final {
    font-family: var(--font-script);
    font-size: 1.6rem;
    line-height: 1.6
}

.socials__glyph {
    display: grid;
    place-items: center;
    border: 1.6px solid currentColor;
    border-radius: 50%;
    font-family: var(--font-ui);
    font-weight: 800;
    font-size: 11px;
    line-height: 1
}

.contact__venue {
    position: relative;
    display: block;
    margin-top: var(--s-4);
    overflow: hidden;
    border-radius: var(--r-md)
}

.contact__venue .img {
    transition: transform .6s var(--ease-out)
}

.contact__venue:hover .img {
    transform: scale(1.03)
}

.contact__venue-cap {
    position: absolute;
    inset: auto 0 0 0;
    display: flex;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-5) var(--s-4) var(--s-4);
    background: linear-gradient(0deg, rgb(10 8 6 / .85), transparent);
    color: #f6efe3
}

.contact__venue-cap>span {
    display: grid;
    line-height: 1.5
}

.contact__venue-cap strong {
    font-size: 1.05rem
}

.course-detail__org {
    margin-bottom: var(--s-4)
}

.course-detail__para {
    margin-top: var(--s-4)
}

.steps {
    display: grid;
    gap: var(--s-2);
    margin-top: var(--s-4);
    counter-reset: none
}

.steps__item {
    display: grid;
    grid-template-columns: 8.5rem 1fr;
    gap: var(--s-3);
    align-items: baseline;
    padding: var(--s-3) 0;
    border-bottom: 1px solid var(--line)
}

.steps__num {
    font-family: var(--font-script);
    font-weight: 700;
    color: var(--accent);
    font-size: 1.1rem
}

.steps__text {
    font-size: 1.05rem
}

.jury__who {
    display: grid;
    gap: 2px
}

.jury__ig,
.person__ig a {
    font-size: var(--fs-meta);
    color: var(--accent);
    text-align: right
}

.person__ig {
    margin-top: var(--s-1)
}

.video-list {
    display: grid;
    gap: var(--s-6)
}

/* گالری: تفکیک تصاویر نمایش‌ها بر اساس اجرا */
.gallery-groups {
    display: grid;
    gap: var(--s-8)
}

.gallery-group__title {
    margin-bottom: var(--s-4)
}

/* صفحهٔ اجرا: دو تصویر کنار هم */
@media(min-width:600px) {
    .work-photos--2 {
        grid-template-columns: repeat(2, 1fr)
    }
}


/* ===== بهینه‌سازی سرعت گالری ===== */
/* حذف blur/scale روی تصاویر (سنگین‌ترین بخش رندر در گالری‌های بزرگ) */
.img img {
    filter: none;
    transform: none;
    transition: opacity .45s var(--ease-soft);
    will-change: auto
}

.masonry__item {
    contain: layout paint style
}

.masonry__more {
    display: flex;
    justify-content: center;
    margin-top: var(--s-6)
}

.work-photos__more {
    display: flex;
    justify-content: flex-start;
    margin-top: var(--s-5)
}

.gallery-group {
    scroll-margin-top: 6rem
}

.person__ig {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem 1rem
}

@media (prefers-reduced-motion: reduce) {
    .img img {
        transition: none
    }
}


/* ===== فهرست: صحنهٔ صندلی زیر نور ===== */
@media(min-width:900px) {
    .menu__aside {
        max-width: none;
        width: 100%;
        justify-self: stretch
    }
}

.menu__stage {
    position: relative;
    display: block;
    width: min(100%, 24rem);
    height: min(68svh, 34rem);
    margin-inline: auto;
    isolation: isolate
}

.menu__beam {
    position: absolute;
    inset: -42% -18% 6%;
    background: linear-gradient(180deg, rgb(251 239 217 / .4), rgb(233 186 119 / .16) 55%, rgb(233 186 119 / 0) 94%);
    clip-path: polygon(47.5% 0, 52.5% 0, 96% 100%, 4% 100%);
    -webkit-mask-image: linear-gradient(180deg, transparent, #000 22%);
    mask-image: linear-gradient(180deg, transparent, #000 22%);
    filter: blur(10px);
    opacity: 0;
    transform-origin: 50% 0;
    z-index: -1
}

.menu__pool {
    position: absolute;
    left: 50%;
    bottom: 7%;
    width: 92%;
    height: 13%;
    translate: -50% 0;
    border-radius: 50%;
    background: radial-gradient(closest-side, rgb(251 239 217 / .5), rgb(233 186 119 / .22) 55%, transparent);
    opacity: 0;
    z-index: -1
}

.menu__floor {
    position: absolute;
    left: 50%;
    bottom: 9.5%;
    width: 46%;
    height: 3.2%;
    translate: -50% 0;
    border-radius: 50%;
    background: radial-gradient(closest-side, rgb(0 0 0 / .65), transparent);
    opacity: 0;
    z-index: 0
}

.menu__chair {
    position: absolute;
    left: 50%;
    bottom: 10%;
    width: 46%;
    translate: -50% 0;
    opacity: 0;
    transform: translateY(14%) scale(.96);
    z-index: 1
}

.menu__chair img {
    display: block;
    width: 100%;
    height: auto;
    filter: drop-shadow(0 22px 22px rgb(0 0 0 / .55)) drop-shadow(0 0 36px rgb(233 186 119 / .18))
}

.menu__dust {
    position: absolute;
    inset: 0 18% 14%;
    overflow: hidden;
    pointer-events: none;
    opacity: 0;
    z-index: 2
}

.menu__dust i {
    position: absolute;
    bottom: 0;
    left: calc(12% + var(--k) * 10.5%);
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--light-100);
    box-shadow: 0 0 6px var(--light-300);
    opacity: 0
}

.menu__slogan {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    text-align: center;
    font-family: var(--font-script);
    font-size: 1.35rem;
    line-height: 1.5;
    color: var(--light-300);
    opacity: 0;
    transform: translateY(.5rem)
}

.menu[data-open] .menu__beam {
    animation: hj-beam-on 1.1s var(--ease-soft) .55s forwards, hj-beam-sway 9s ease-in-out 1.7s infinite
}

.menu[data-open] .menu__pool {
    animation: hj-fade-in .9s var(--ease-soft) .8s forwards, hj-pool 9s ease-in-out 1.7s infinite
}

.menu[data-open] .menu__floor {
    animation: hj-fade-in .8s var(--ease-soft) .95s forwards
}

.menu[data-open] .menu__chair {
    animation: hj-chair-rise 1.2s var(--ease-out) .75s forwards, hj-chair-float 7s ease-in-out 2s infinite
}

.menu[data-open] .menu__dust {
    opacity: 1;
    transition: opacity 1s 1.2s
}

.menu[data-open] .menu__dust i {
    animation: hj-dust 7s linear calc(1.2s + var(--k) * .85s) infinite
}

.menu[data-open] .menu__slogan {
    opacity: .9;
    transform: none;
    transition: opacity .8s var(--ease-soft) 1.25s, transform .8s var(--ease-out) 1.25s
}

@keyframes hj-beam-on {
    0% { opacity: 0 }
    35% { opacity: .9 }
    45% { opacity: .35 }
    60% { opacity: 1 }
    100% { opacity: 1 }
}

@keyframes hj-beam-sway {
    0%, 100% { transform: rotate(0deg) }
    50% { transform: rotate(-2.2deg) }
}

@keyframes hj-pool {
    0%, 100% { transform: translateX(0); opacity: 1 }
    50% { transform: translateX(4%); opacity: .85 }
}

@keyframes hj-fade-in {
    to { opacity: 1 }
}

@keyframes hj-chair-rise {
    to { opacity: 1; transform: none }
}

@keyframes hj-chair-float {
    0%, 100% { transform: translateY(0) }
    50% { transform: translateY(-2.5%) }
}

@keyframes hj-dust {
    0% { transform: translate(0, 0); opacity: 0 }
    15% { opacity: .8 }
    100% { transform: translate(calc((var(--k) - 3.5) * 6px), -26rem); opacity: 0 }
}

@media (prefers-reduced-motion: reduce) {
    .menu[data-open] .menu__beam,
    .menu[data-open] .menu__pool,
    .menu[data-open] .menu__floor,
    .menu[data-open] .menu__chair {
        animation: none;
        opacity: 1;
        transform: none
    }

    .menu__dust {
        display: none
    }
}

/* ===== گالری: لود سبک‌تر ===== */

.lightbox__zoomable img.is-lo {
    filter: none
}

/* ===== موبایل ===== */
@media(max-width:599px) {
    .filter {
        flex-wrap: wrap;
        overflow: visible;
        margin-inline: 0;
        padding-inline: 0
    }

    .filter__chip {
        min-height: 40px;
        padding: 0 var(--s-4)
    }
}

@media(max-width:599px) {
    /* فوتر جمع‌وجورتر */
    .footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--s-6) var(--s-5)
    }

    .footer__brand,
    .footer__col:last-child {
        grid-column: 1 / -1
    }

    /* پوسترها دو ستونه */
    .card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--s-5) var(--s-3)
    }

    .card-grid .show-card__credits {
        gap: .2rem;
        padding: var(--s-5) var(--s-2) var(--s-2);
        font-size: .78rem;
        line-height: 1.5
    }

    .card-grid .show-card__credits div {
        display: grid;
        gap: 0
    }

    .card-grid .show-card__title {
        font-size: 1.2rem
    }

    .card-grid .show-card__badge {
        font-size: .72rem;
        padding: .15rem .45rem
    }
}

@media(max-width:599px) {
    /* جدول اجراها روی موبایل: هر اجرا یک ردیف کارتی */
    .schedule__table {
        min-width: 0
    }

    .schedule__table thead {
        display: none
    }

    .schedule__table tr {
        display: grid;
        grid-template-columns: 4.25rem 1fr;
        border: 1px solid var(--line);
        border-top: none
    }

    .schedule__table tbody tr:first-child {
        border-top: 1px solid var(--line)
    }

    .schedule__table td {
        border: none;
        padding: .2rem .75rem
    }

    .schedule__table td.num {
        grid-row: 1 / span 3;
        display: grid;
        place-items: center;
        border-inline-start: 1px solid var(--line);
        font-weight: 700
    }

    .schedule__table td:nth-child(2) {
        padding-top: .7rem;
        font-weight: 700
    }

    .schedule__table td:last-child {
        padding-bottom: .7rem
    }

    .schedule__table td[data-l] {
        font-size: var(--fs-meta);
        color: var(--text-muted)
    }

    .schedule__table td[data-l]:before {
        content: attr(data-l) ": ";
        color: var(--text-faint)
    }
}


/* ===== شعار جشنواره (صفحهٔ درباره): نور صحنه + پدیدار شدن کلمه‌به‌کلمه ===== */
.slogan-band {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    text-align: center;
    padding-block: clamp(4.5rem, 12vw, 9rem)
}

.slogan-band__beam {
    position: absolute;
    inset: -6% 0 0;
    z-index: -1;
    background: linear-gradient(180deg, rgb(243 217 164 / .26), rgb(233 186 119 / .1) 60%, transparent 92%);
    clip-path: polygon(46% 0, 54% 0, 82% 100%, 18% 100%);
    transform-origin: 50% 0;
    opacity: 0
}

.slogan-band__pool {
    position: absolute;
    inset: auto 10% 4% 10%;
    height: 38%;
    z-index: -1;
    background: radial-gradient(50% 50% at 50% 60%, rgb(233 186 119 / .16), transparent 70%);
    opacity: 0;
    transition: opacity 1.6s var(--ease-soft) .5s
}

.slogan-band__dust {
    position: absolute;
    inset: 0;
    z-index: -1;
    clip-path: polygon(46% 0, 54% 0, 82% 100%, 18% 100%);
    pointer-events: none
}

.slogan-band__dust i {
    position: absolute;
    bottom: 6%;
    left: var(--x);
    width: var(--z);
    height: var(--z);
    border-radius: 50%;
    background: #f6e3bb;
    box-shadow: 0 0 6px rgb(246 227 187 / .8);
    opacity: 0
}

.slogan-band.is-lit .slogan-band__dust i {
    animation: slogan-mote var(--t) linear var(--d) infinite
}

.slogan-band__inner {
    position: relative;
    display: grid;
    justify-items: center;
    gap: var(--s-4)
}

.slogan-band__eyebrow {
    color: var(--accent);
    opacity: 0;
    transform: translateY(.5rem);
    transition: opacity .8s var(--ease-soft) .2s, transform .8s var(--ease-out) .2s
}

.slogan-band__line {
    display: grid;
    justify-items: center;
    gap: .1em;
    margin: 0;
    font-family: var(--font-script);
    font-weight: 700;
    line-height: 1.15;
    color: var(--light-100)
}

.slogan-band__word-lead {
    display: block;
    padding: .05em .15em .12em;
    font-size: clamp(3.6rem, 15vw, 7.5rem);
    letter-spacing: 0;
    background: linear-gradient(100deg, #b98543 0%, #e9c584 30%, #fff4dc 48%, #e9c584 62%, #b98543 100%);
    background-size: 260% 100%;
    background-position: 100% 0;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(0 .08em .5em rgb(233 186 119 / .22));
    clip-path: inset(-25% -6% -25% 100%);
    transition: clip-path 1.3s var(--ease-out) .35s
}

.slogan-band__breath {
    display: block;
    width: clamp(3rem, 12vw, 6rem);
    height: 2px;
    margin-block: .15em .35em;
    border-radius: 2px;
    background: linear-gradient(90deg, transparent, var(--accent), transparent);
    transform: scaleX(0);
    transition: transform 1s var(--ease-out) 1.25s
}

.slogan-band__words {
    display: block;
    max-width: 100%;
    font-size: clamp(1.75rem, 7.2vw, 3.4rem);
    font-weight: 500;
    text-wrap: balance
}

.slogan-band__word {
    display: inline-block;
    opacity: 0;
    transform: translateY(.45em);
    filter: blur(6px);
    transition: opacity .9s var(--ease-soft), transform .9s var(--ease-out), filter .9s var(--ease-soft);
    transition-delay: calc(1.45s + var(--i) * .28s)
}

/* حالت روشن */
.slogan-band.is-lit .slogan-band__beam {
    animation: slogan-beam-on 1.3s steps(1, end) forwards, slogan-beam-breathe 8s ease-in-out 1.3s infinite
}

.slogan-band.is-lit .slogan-band__pool,
.slogan-band.is-lit .slogan-band__eyebrow {
    opacity: 1;
    transform: none
}

.slogan-band.is-lit .slogan-band__word-lead {
    clip-path: inset(-25% -6% -25% -6%);
    animation: slogan-glint 7s ease-in-out 2.4s infinite
}

.slogan-band.is-lit .slogan-band__breath {
    transform: scaleX(1)
}

.slogan-band.is-lit .slogan-band__word {
    opacity: .94;
    transform: none;
    filter: none
}

@keyframes slogan-beam-on {
    0% { opacity: 0 }
    12% { opacity: .55 }
    20% { opacity: .1 }
    34% { opacity: .8 }
    44% { opacity: .35 }
    60%, 100% { opacity: 1 }
}

@keyframes slogan-beam-breathe {
    0%, 100% { opacity: 1; transform: rotate(0deg) }
    30% { opacity: .82; transform: rotate(1.2deg) }
    70% { opacity: .92; transform: rotate(-1deg) }
}

@keyframes slogan-glint {
    0% { background-position: 100% 0 }
    45%, 100% { background-position: 0% 0 }
}

@keyframes slogan-mote {
    0% { transform: translate(0, 0); opacity: 0 }
    15% { opacity: .75 }
    80% { opacity: .35 }
    100% { transform: translate(var(--dx), -26rem); opacity: 0 }
}

@media (prefers-reduced-motion: reduce) {
    .slogan-band__beam,
    .slogan-band__pool,
    .slogan-band__eyebrow,
    .slogan-band__word,
    .slogan-band__word-lead,
    .slogan-band__breath {
        animation: none !important;
        transition: none !important;
        opacity: 1;
        transform: none;
        filter: none;
        clip-path: none
    }

    .slogan-band__word-lead {
        filter: drop-shadow(0 .08em .5em rgb(233 186 119 / .22))
    }

    .slogan-band__dust {
        display: none
    }
}

.slogan-band__eyebrow:after {
    content: "";
    width: 1.5rem;
    height: 1px;
    background: currentColor;
    opacity: .7
}

/* ===== نمایشگر تصویر: نسخهٔ باکیفیت روی موبایل ===== */
.lightbox__zoomable img {
    max-width: 100%;
    height: auto
}

.lightbox__zoomable img.is-hi {
    animation: lb-sharpen .35s var(--ease-soft)
}

@keyframes lb-sharpen {
    from { opacity: .85 }
}

.lightbox__zoomable {
    position: relative
}

.lightbox__zoomable:has(img.is-loading):after {
    content: "";
    position: absolute;
    inset-inline-start: .75rem;
    bottom: .75rem;
    width: 1.1rem;
    height: 1.1rem;
    border-radius: 50%;
    border: 2px solid rgb(251 239 217 / .35);
    border-top-color: #fbefd9;
    animation: lb-spin .8s linear infinite;
    pointer-events: none
}

@keyframes lb-spin {
    to { transform: rotate(1turn) }
}

@media (max-width: 899px) {
    .lightbox__zoomable img {
        touch-action: pinch-zoom
    }
}
