@tailwind base;
@tailwind components;
@tailwind utilities;

@font-face {
    font-family: 'SVN Poppins';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('fonts/SVN-Poppins-400.woff2') format('woff2');
}

/* Italic */
@font-face {
    font-family: 'SVN Poppins';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url('fonts/SVN-Poppins-400-Italic.woff2') format('woff2');
}

/* Medium */
@font-face {
    font-family: 'SVN Poppins';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('fonts/SVN-Poppins-500.woff2') format('woff2');
}

/* SemiBold */
@font-face {
    font-family: 'SVN Poppins';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('fonts/SVN-Poppins-600.woff2') format('woff2');
}

/* SemiBold Italic */
@font-face {
    font-family: 'SVN Poppins';
    font-style: italic;
    font-weight: 600;
    font-display: swap;
    src: url('fonts/SVN-Poppins-600-Italic.woff2') format('woff2');
}

/* Bold */
@font-face {
    font-family: 'SVN Poppins';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('fonts/SVN-Poppins-700.woff2') format('woff2');
}

/*! tailwindcss v4.0.17 | MIT License | https://tailwindcss.com */
@layer theme {
    :host,:root {
        --color-base-100: oklch(91.637% .034 90.515);
        --color-base-200: oklch(88.272% .049 91.774);
        --color-base-300: oklch(84.133% .065 90.856);
        --color-base-content: oklch(41% .112 45.904);
        --color-primary: oklch(80% .114 19.571);
        --color-primary-content: oklch(39% .141 25.723);
        --color-secondary: oklch(92% .084 155.995);
        --color-secondary-content: oklch(44% .119 151.328);
        --color-accent: oklch(65% .135 66.442);
        --color-accent-content: oklch(83% .128 66.29);
        --color-neutral: oklch(44% .011 73.639);
        --color-neutral-content: oklch(86% .005 56.366);
        --color-info: oklch(58% .158 241.966);
        --color-info-content: oklch(96% .059 95.617);
        --color-success: oklch(51% .096 186.391);
        --color-success-content: oklch(96% .059 95.617);
        --color-warning: oklch(64% .222 41.116);
        --color-warning-content: oklch(96% .059 95.617);
        --color-error: oklch(70% .191 22.216);
        --color-error-content: oklch(40% .123 38.172);
        --radius-selector: .25rem;
        --radius-field: .25rem;
        --radius-box: .5rem;
        --size-selector: .25rem;
        --size-field: .25rem;
        --border: 2px;
        --depth: 0;
        --noise: 1;
        --color-orange-300: oklch(.837 .128 66.29);
        --color-sky-800: oklch(.443 .11 240.79);
        --color-blue-100: oklch(.932 .032 255.585);
        --color-blue-400: oklch(.707 .165 254.624);
        --color-blue-800: oklch(.424 .199 265.638);
        --color-slate-100: oklch(.968 .007 247.896);
        --color-slate-400: oklch(.704 .04 256.788);
        --color-slate-600: oklch(.446 .043 257.281);
        --color-slate-800: oklch(.279 .041 260.031);
        --color-gray-300: oklch(.872 .01 258.338);
        --color-gray-500: oklch(.551 .027 264.364);
        --color-gray-700: oklch(.373 .034 259.733);
        --color-gray-800: oklch(.278 .033 256.848);
        --color-black: #000;
        --color-white: #fff;
        --spacing: .25rem;
        --breakpoint-md: 48rem;
        --breakpoint-lg: 64rem;
        --breakpoint-2xl: 96rem;
        --container-4xl: 56rem;
        --text-xs: .75rem;
        --text-xs--line-height: calc(1/.75);
        --text-sm: .875rem;
        --text-sm--line-height: calc(1.25/.875);
        --text-base: 1rem;
        --text-base--line-height: calc(1.5/1);
        --text-lg: 1.125rem;
        --text-lg--line-height: calc(1.75/1.125);
        --text-xl: 1.25rem;
        --text-xl--line-height: calc(1.75/1.25);
        --text-2xl: 1.5rem;
        --text-2xl--line-height: calc(2/1.5);
        --text-3xl: 1.875rem;
        --text-3xl--line-height: calc(2.25/1.875);
        --text-4xl: 2.25rem;
        --text-4xl--line-height: calc(2.5/2.25);
        --font-weight-normal: 400;
        --font-weight-semibold: 600;
        --font-weight-bold: 700;
        --radius-lg: .5rem;
        --radius-xl: .75rem;
        --ease-in-out: cubic-bezier(.4,0,.2,1);
        --animate-bounce: bounce 1s infinite;
        --blur-sm: 8px;
        --default-transition-duration: .15s;
        --default-transition-timing-function: cubic-bezier(.4,0,.2,1)
    }
}

@layer base {
    *,::backdrop,:after,:before {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    ::file-selector-button {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    :host,html {
        -webkit-text-size-adjust: 100%;
        tab-size: 4;
        font-feature-settings: normal;
        font-variation-settings: normal;
        -webkit-tap-highlight-color: transparent;
        font-family: ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;
        line-height: 1.5
    }

    hr {
        height: 0;
        color: inherit;
        border-top-width: 1px
    }

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

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

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

    b,strong {
        font-weight: bolder
    }

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

    small {
        font-size: 80%
    }

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

    sub {
        bottom: -.25em
    }

    sup {
        top: -.5em
    }

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

    :-moz-focusring {
        outline: auto
    }

    progress {
        vertical-align: baseline
    }

    summary {
        display: list-item
    }

    menu,ol,ul {
        list-style: none
    }

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

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

    button,input,optgroup,select,textarea {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    ::file-selector-button {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    :where(select: is([multiple],[size])) optgroup {
    font-weight:bolder
}

    :where(select: is([multiple],[size])) optgroup option {
    padding-inline-start:20px
}

    ::file-selector-button {
        margin-inline-end:4px}

    ::placeholder {
        opacity: 1
    }

    @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size:1px) {
        ::placeholder {
            color:color-mix(in oklab,currentColor 50%,transparent)
        }
    }

    textarea {
        resize: vertical
    }

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

    ::-webkit-date-and-time-value {
        min-height: 1lh;
        text-align: inherit
    }

    ::-webkit-datetime-edit {
        display: inline-flex
    }

    ::-webkit-datetime-edit-fields-wrapper {
        padding: 0
    }

    ::-webkit-datetime-edit,::-webkit-datetime-edit-year-field {
        padding-block:0}

    ::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field {
        padding-block:0}

    ::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field {
        padding-block:0}

    ::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field {
        padding-block:0}

    ::-webkit-datetime-edit-meridiem-field {
        padding-block:0}

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

    button,input: where([type=button],[type=reset],[type=submit]) {
    appearance:button
}

    ::file-selector-button {
        appearance: button
    }

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

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

    :root:has(input.theme-controller[value=light]: checked),[data-theme=light] {
        color-scheme:light;
        --color-base-100: oklch(100% 0 0);
        --color-base-200: oklch(98% 0 0);
        --color-base-300: oklch(95% 0 0);
        --color-base-content: oklch(21% .006 285.885);
        --color-primary: oklch(45% .24 277.023);
        --color-primary-content: oklch(93% .034 272.788);
        --color-secondary: oklch(65% .241 354.308);
        --color-secondary-content: oklch(94% .028 342.258);
        --color-accent: oklch(77% .152 181.912);
        --color-accent-content: oklch(38% .063 188.416);
        --color-neutral: oklch(14% .005 285.823);
        --color-neutral-content: oklch(92% .004 286.32);
        --color-info: oklch(74% .16 232.661);
        --color-info-content: oklch(29% .066 243.157);
        --color-success: oklch(76% .177 163.223);
        --color-success-content: oklch(37% .077 168.94);
        --color-warning: oklch(82% .189 84.429);
        --color-warning-content: oklch(41% .112 45.904);
        --color-error: oklch(71% .194 13.428);
        --color-error-content: oklch(27% .105 12.094);
        --radius-selector: .5rem;
        --radius-field: .25rem;
        --radius-box: .5rem;
        --size-selector: .25rem;
        --size-field: .25rem;
        --border: 1px;
        --depth: 1;
        --noise: 0
    }

    @property --radialprogress {
        syntax: "<percentage>";
        inherits: true;
        initial-value: 0
    }

    :root {
        scrollbar-color: color-mix(in oklch,currentColor 35%,#0000)#0000
    }

    :root:has(.modal-open,.modal[open],.modal: target,.modal-toggle:checked,.drawer:not([class*=drawer-open])>.drawer-toggle:checked) {
        overflow:hidden
    }

    :root,[data-theme] {
        background-color: var(--root-bg,var(--color-base-100));
        color: var(--color-base-content)
    }

    :root {
        --fx-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E")
    }

    .chat {
        --mask-chat: url("data:image/svg+xml,%3csvg width='13' height='13' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='M0 11.5004C0 13.0004 2 13.0004 2 13.0004H12H13V0.00036329L12.5 0C12.5 0 11.977 2.09572 11.8581 2.50033C11.6075 3.35237 10.9149 4.22374 9 5.50036C6 7.50036 0 10.0004 0 11.5004Z'/%3e%3c/svg%3e")
    }

    :where(:root:has(.modal-open,.modal[open],.modal: target,.modal-toggle:checked,.drawer:not(.drawer-open)>.drawer-toggle:checked)) {
        scrollbar-gutter:stable;
        background-image: linear-gradient(var(--color-base-100),var(--color-base-100));
        --root-bg: color-mix(in srgb,var(--color-base-100),oklch(0% 0 0) 40%)
    }

    :root:has(input.theme-controller[value=retro]: checked),:where(:root),[data-theme=retro] {
        color-scheme:normal;
        --color-base-100: oklch(91.637% .034 90.515);
        --color-base-200: oklch(88.272% .049 91.774);
        --color-base-300: oklch(84.133% .065 90.856);
        --color-base-content: oklch(41% .112 45.904);
        --color-primary: oklch(80% .114 19.571);
        --color-primary-content: oklch(39% .141 25.723);
        --color-secondary: oklch(92% .084 155.995);
        --color-secondary-content: oklch(44% .119 151.328);
        --color-accent: oklch(65% .135 66.442);
        --color-accent-content: oklch(83% .128 66.29);
        --color-neutral: oklch(44% .011 73.639);
        --color-neutral-content: oklch(86% .005 56.366);
        --color-info: oklch(58% .158 241.966);
        --color-info-content: oklch(96% .059 95.617);
        --color-success: oklch(51% .096 186.391);
        --color-success-content: oklch(96% .059 95.617);
        --color-warning: oklch(64% .222 41.116);
        --color-warning-content: oklch(96% .059 95.617);
        --color-error: oklch(70% .191 22.216);
        --color-error-content: oklch(40% .123 38.172);
        --radius-selector: .25rem;
        --radius-field: .25rem;
        --radius-box: .5rem;
        --size-selector: .25rem;
        --size-field: .25rem;
        --border: 2px;
        --depth: 0;
        --noise: 1
    }
}
/* Enable 3D space on group */
.group {
    perspective: 1000px;
}

/* Flipper container preserves 3D and rotates */
.group .flipper {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.8s ease-in-out;
    transform-style: preserve-3d;
}

/* Rotate the flipper on hover */
.group:hover .flipper {
    transform: rotateY(180deg);
}

/* Both images */
.group img {
    backface-visibility: hidden;
    border-radius: 9999px;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Front face */
.group img.front {
    transform: rotateY(0deg);
    z-index: 2;
}

/* Back face */
.group img.back {
    transform: rotateY(180deg);
    z-index: 1;
}

@layer components;@layer utilities {
    .diff {
        webkit-user-select: none;
        -webkit-user-select: none;
        user-select: none;
        direction: ltr;
        grid-template-columns: auto 1fr;
        width: 100%;
        display: grid;
        position: relative;
        overflow: hidden;
        container-type: inline-size
    }

    .diff:focus-visible,.diff:has(.diff-item-1:focus) {
        outline-style: var(--tw-outline-style);
        outline-offset: 1px;
        outline-width: 2px;
        outline-color: var(--color-base-content)
    }

    .diff:focus-visible .diff-resizer {
        min-width: 90cqi;
        max-width: 90cqi
    }

    .diff:has(.diff-item-2:focus-visible) {
        outline-style: var(--tw-outline-style);
        outline-offset: 1px;
        outline-width: 2px
    }

    .diff:has(.diff-item-2:focus-visible) .diff-resizer {
        min-width: 10cqi;
        max-width: 10cqi
    }

    @supports (-webkit-overflow-scrolling:touch) and (overflow: -webkit-paged-x) {
        .diff:focus .diff-resizer {
            min-width:10cqi;
            max-width: 10cqi
        }

        .diff:has(.diff-item-1:focus) .diff-resizer {
            min-width: 90cqi;
            max-width: 90cqi
        }
    }

    .tooltip {
        --tt-bg: var(--color-neutral);
        --tt-off: calc(100% + .5rem);
        --tt-tail: calc(100% + 1px + .25rem);
        display: inline-block;
        position: relative
    }

    .tooltip>:where(.tooltip-content),.tooltip[data-tip]: before {
        border-radius:var(--radius-field);
        text-align: center;
        white-space: normal;
        max-width: 20rem;
        color: var(--color-neutral-content);
        opacity: 0;
        background-color: var(--tt-bg);
        pointer-events: none;
        z-index: 1;
        --tw-content: attr(data-tip);
        content: var(--tw-content);
        width: max-content;
        padding-block:.25rem;padding-inline:.5rem;font-size: .875rem;
        line-height: 1.25em;
        transition: opacity .2s cubic-bezier(.4,0,.2,1) 75ms,transform .2s cubic-bezier(.4,0,.2,1) 75ms;
        position: absolute
    }

    .tooltip:after {
        opacity: 0;
        background-color: var(--tt-bg);
        content: "";
        pointer-events: none;
        --mask-tooltip: url("data:image/svg+xml,%3Csvg width='10' height='4' viewBox='0 0 8 4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.500009 1C3.5 1 3.00001 4 5.00001 4C7 4 6.5 1 9.5 1C10 1 10 0.499897 10 0H0C-1.99338e-08 0.5 0 1 0.500009 1Z' fill='black'/%3E%3C/svg%3E%0A");
        width: .625rem;
        height: .25rem;
        -webkit-mask-position: -1px 0;
        mask-position: -1px 0;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-image: var(--mask-tooltip);
        mask-image: var(--mask-tooltip);
        transition: opacity .2s cubic-bezier(.4,0,.2,1) 75ms,transform .2s cubic-bezier(.4,0,.2,1) 75ms;
        display: block;
        position: absolute
    }

    :is(.tooltip.tooltip-open,.tooltip[data-tip]: hover,.tooltip:hover,.tooltip:has(:focus-visible)):after,:is(.tooltip.tooltip-open,.tooltip[data-tip]:hover,.tooltip:hover,.tooltip:has(:focus-visible))>.tooltip-content,:is(.tooltip.tooltip-open,.tooltip[data-tip]:hover,.tooltip:hover,.tooltip:has(:focus-visible))[data-tip]:before {
        opacity:1;
        --tt-pos: 0rem;
        transition: opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)
    }

    .tooltip>.tooltip-content,.tooltip[data-tip]: before {
        transform:translateX(-50%)translateY(var(--tt-pos,.25rem));
        inset: auto auto var(--tt-off)50%
    }

    .tooltip:after {
        transform: translateX(-50%)translateY(var(--tt-pos,.25rem));
        inset: auto auto var(--tt-tail)50%
    }

    .tab {
        cursor: pointer;
        appearance: none;
        text-align: center;
        webkit-user-select: none;
        -webkit-user-select: none;
        user-select: none;
        --tab-p: 1rem;
        --tab-bg: var(--color-base-100);
        --tab-border-color: var(--color-base-300);
        --tab-radius-ss: 0;
        --tab-radius-se: 0;
        --tab-radius-es: 0;
        --tab-radius-ee: 0;
        --tab-order: 0;
        --tab-radius-min: calc(.75rem - var(--border));
        flex-wrap: wrap;
        order: var(--tab-order);
        height: calc(var(--size-field,.25rem)*10);
        border-color: #0000;
        justify-content: center;
        align-items: center;
        padding-inline-start:var(--tab-p);padding-inline-end: var(--tab-p);
        font-size: .875rem;
        display: inline-flex;
        position: relative
    }

    @media (hover: hover) {
        .tab:hover {
            color:var(--color-base-content)
        }
    }

    .tab:is(input[type=radio]) {
        min-width: fit-content
    }

    .tab:is(input[type=radio]): after {
        content:attr(aria-label)
    }

    .tab:is(label) {
        position: relative
    }

    .tab:is(label) input {
        cursor: pointer;
        appearance: none;
        opacity: 0;
        position: absolute;
        inset: 0
    }

    :is(.tab:checked,.tab:is(label: has(:checked)),.tab:is(.tab-active,[aria-selected=true]))+.tab-content {
    height:100%;
    display: block
}

    .tab:not(:checked,label: has(:checked),:hover,.tab-active,[aria-selected=true]) {
    color:color-mix(in oklab,var(--color-base-content)50%,transparent)
}

    .tab:not(input): empty {
        cursor:default;
        flex-grow: 1
    }

    .tab:focus {
        --tw-outline-style: none;
        outline-style: none
    }

    @media (forced-colors:active) {
        .tab:focus {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    .tab:focus-visible,.tab:is(label: has(:checked:focus-visible)) {
    outline-offset:-5px;
    outline: 2px solid
}

    .tab[disabled] {
        pointer-events: none;
        opacity: .4
    }

    .menu {
        --menu-active-fg: var(--color-neutral-content);
        --menu-active-bg: var(--color-neutral);
        flex-flow: column wrap;
        width: fit-content;
        padding: .5rem;
        font-size: .875rem;
        display: flex
    }

    .menu :where(li ul) {
        white-space: nowrap;
        margin-inline-start:1rem;padding-inline-start:.5rem;position: relative
    }

    .menu :where(li ul): before {
        background-color:var(--color-base-content);
        opacity: .1;
        width: var(--border);
        content: "";
        inset-inline-start: 0;
        position: absolute;
        top: .75rem;
        bottom: .75rem
    }

    .menu :where(li>.menu-dropdown: not(.menu-dropdown-show)) {
    display:none
}

    .menu :where(li: not(.menu-title)>:not(ul,details,.menu-title,.btn)),.menu :where(li:not(.menu-title)>details>summary:not(.menu-title)) {
    border-radius:var(--radius-field);
    text-align: start;
    text-wrap: balance;
    -webkit-user-select: none;
    user-select: none;
    grid-auto-columns: minmax(auto,max-content) auto max-content;
    grid-auto-flow: column;
    align-content: flex-start;
    align-items: center;
    gap: .5rem;
    padding-block:.375rem;padding-inline:.75rem;transition-property: color,background-color,box-shadow;
    transition-duration: .2s;
    transition-timing-function: cubic-bezier(0,0,.2,1);
    display: grid
}

    .menu :where(li>details>summary) {
        --tw-outline-style: none;
        outline-style: none
    }

    @media (forced-colors:active) {
        .menu :where(li>details>summary) {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    .menu :where(li>details>summary): :-webkit-details-marker {
        display:none
    }

    :is(.menu :where(li>details>summary),.menu : where(li>.menu-dropdown-toggle)):after {
    content:"";
    transform-origin: 50%;
    pointer-events: none;
    justify-self: flex-end;
    width: .375rem;
    height: .375rem;
    transition-property: rotate,translate;
    transition-duration: .2s;
    display: block;
    translate: 0 -1px;
    rotate: -135deg;
    box-shadow: inset 2px 2px
}

    .menu :where(li>.menu-dropdown-toggle.menu-dropdown-show): after,.menu :where(li>details[open]>summary):after {
        translate:0 1px;
        rotate: 45deg
    }

    .menu :where(li: not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible {
    cursor:pointer;
    background-color: color-mix(in oklab,var(--color-base-content)10%,transparent);
    color: var(--color-base-content);
    --tw-outline-style: none;
    outline-style: none
}

    @media (forced-colors:active) {
        :is(.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible) {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    .menu :where(li: not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover) {
    cursor:pointer;
    background-color: color-mix(in oklab,var(--color-base-content)10%,transparent);
    --tw-outline-style: none;
    outline-style: none;
    box-shadow: inset 0 1px oklch(0 0 0/.01),inset 0 -1px oklch(100% 0 0/.01)
}

    @media (forced-colors:active) {
        .menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover) {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    .menu :where(li: empty) {
        background-color:var(--color-base-content);
        opacity: .1;
        height: 1px;
        margin: .5rem 1rem
    }

    .menu :where(li) {
        flex-flow: column wrap;
        flex-shrink: 0;
        align-items: stretch;
        display: flex;
        position: relative
    }

    .menu :where(li) .badge {
        justify-self: flex-end
    }

    .menu :where(li)>: not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>details>summary:active {
    --tw-outline-style:none;
    color: var(--menu-active-fg);
    background-color: var(--menu-active-bg);
    background-size: auto,calc(var(--noise)*100%);
    background-image: none,var(--fx-noise);
    outline-style: none
}

    @media (forced-colors:active) {
        :is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active) {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    :is(.menu :where(li)>: not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):not(:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):active) {
    box-shadow:0 2px calc(var(--depth)*3px)-2px var(--menu-active-bg)
}

    .menu :where(li).menu-disabled {
        pointer-events: none;
        color: color-mix(in oklab,var(--color-base-content)20%,transparent)
    }

    .menu .dropdown:focus-within .menu-dropdown-toggle:after {
        translate: 0 1px;
        rotate: 45deg
    }

    .menu .dropdown-content {
        margin-top: .5rem;
        padding: .5rem
    }

    .menu .dropdown-content:before {
        display: none
    }

    .btn {
        cursor: pointer;
        text-align: center;
        vertical-align: middle;
        outline-offset: 2px;
        webkit-user-select: none;
        -webkit-user-select: none;
        user-select: none;
        padding-inline:var(--btn-p);color: var(--btn-fg);
        --tw-prose-links: var(--btn-fg);
        height: var(--size);
        font-size: var(--fontsize,.875rem);
        outline-color: var(--btn-color,var(--color-base-content));
        background-color: var(--btn-bg);
        background-size: auto,calc(var(--noise)*100%);
        background-image: none,var(--btn-noise);
        border-width: var(--border);
        border-style: solid;
        border-color: var(--btn-border);
        text-shadow: 0 .5px oklch(100% 0 0/calc(var(--depth)*.15));
        box-shadow: 0 .5px 0 .5px oklch(100% 0 0/calc(var(--depth)*6%))inset,var(--btn-shadow);
        --size: calc(var(--size-field,.25rem)*10);
        --btn-bg: var(--btn-color,var(--color-base-200));
        --btn-fg: var(--color-base-content);
        --btn-p: 1rem;
        --btn-border: color-mix(in oklab,var(--btn-bg),#000 calc(var(--depth)*5%));
        --btn-shadow: 0 3px 2px -2px color-mix(in oklab,var(--btn-bg)calc(var(--depth)*30%),#0000),0 4px 3px -2px color-mix(in oklab,var(--btn-bg)calc(var(--depth)*30%),#0000);
        --btn-noise: var(--fx-noise);
        border-start-start-radius: var(--join-ss,var(--radius-field));
        border-start-end-radius: var(--join-se,var(--radius-field));
        border-end-end-radius: var(--join-ee,var(--radius-field));
        border-end-start-radius: var(--join-es,var(--radius-field));
        flex-wrap: nowrap;
        flex-shrink: 0;
        justify-content: center;
        align-items: center;
        gap: .375rem;
        font-weight: 600;
        transition-property: color,background-color,border-color,box-shadow;
        transition-duration: .2s;
        transition-timing-function: cubic-bezier(0,0,.2,1);
        display: inline-flex
    }

    :where(.btn) {
        width: unset
    }

    .prose .btn {
        text-decoration-line: none
    }

    @media (hover: hover) {
        .btn:hover {
            --btn-bg:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 7%)
        }
    }

    .btn:focus-visible {
        outline-width: 2px;
        outline-style: solid
    }

    .btn:active:not(.btn-active) {
        --btn-bg: color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 5%);
        --btn-border: color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 7%);
        --btn-shadow: 0 0 0 0 oklch(0% 0 0/0),0 0 0 0 oklch(0% 0 0/0);
        translate: 0 .5px
    }

    .btn:is(:disabled,[disabled],.btn-disabled) {
        pointer-events: none;
        --btn-border: #0000;
        --btn-noise: none;
        --btn-fg: color-mix(in oklch,var(--color-base-content)20%,#0000)
    }

    .btn:is(:disabled,[disabled],.btn-disabled): not(.btn-link,.btn-ghost) {
    background-color:color-mix(in oklab,var(--color-base-content)10%,transparent);
    box-shadow: none
}

    @media (hover: hover) {
        .btn:is(:disabled,[disabled],.btn-disabled):hover {
            pointer-events:none;
            background-color: color-mix(in oklab,var(--color-neutral)20%,transparent);
            --btn-border: #0000;
            --btn-fg: color-mix(in oklch,var(--color-base-content)20%,#0000)
        }
    }

    .btn:is(input[type=checkbox],input[type=radio]) {
        appearance: none
    }

    .btn:is(input[type=checkbox],input[type=radio]): after {
        content:attr(aria-label)
    }

    .btn:where(input: checked:not(.filter .btn)) {
        --btn-color:var(--color-primary);
        --btn-fg: var(--color-primary-content);
        isolation: isolate
    }

    .loading {
        aspect-ratio: 1;
        vertical-align: middle;
        width: calc(var(--size-selector,.25rem)*6);
        background-color: currentColor;
        display: inline-block;
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");
        mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");
        -webkit-mask-position: 50%;
        mask-position: 50%;
        -webkit-mask-size: 100%;
        mask-size: 100%;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat
    }

    .loading,.pointer-events-none {
        pointer-events: none
    }

    .collapse {
        border-radius: var(--radius-box,1rem);
        grid-template-rows: max-content 0fr;
        width: 100%;
        transition: grid-template-rows .2s;
        display: grid;
        position: relative;
        overflow: hidden
    }

    .collapse:not(td,tr,colgroup) {
        visibility: visible
    }

    .collapse>input: is([type=checkbox],[type=radio]) {
    appearance:none;
    opacity: 0;
    z-index: 1;
    grid-row-start: 1;
    grid-column-start: 1;
    width: 100%;
    min-height: 3.75rem;
    padding: 1rem;
    padding-inline-end:3rem;transition: background-color .2s ease-out
}

    .collapse:is([open],: focus:not(.collapse-close)),.collapse:not(.collapse-close):has(>input:is([type=checkbox],[type=radio]):checked) {
        grid-template-rows:max-content 1fr
    }

    .collapse:is([open],: focus:not(.collapse-close))>.collapse-content,.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content) {
        visibility:visible;
        min-height: fit-content
    }

    .collapse:focus-visible,.collapse:has(>input: is([type=checkbox],[type=radio]):focus-visible) {
    outline-color:var(--color-base-content);
    outline-offset: 2px;
    outline-width: 2px;
    outline-style: solid
}

    .collapse:not(.collapse-close)>.collapse-title,.collapse:not(.collapse-close)>input[type=checkbox],.collapse: not(.collapse-close)>input[type=radio]:not(:checked) {
    cursor:pointer
}

    .collapse:focus:not(.collapse-close,.collapse[open])>.collapse-title {
        cursor: unset
    }

    .collapse:is([open],: focus:not(.collapse-close))>:where(.collapse-content),.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content) {
        padding-bottom:1rem;
        transition: padding .2s ease-out,background-color .2s ease-out
    }

    .collapse.collapse-open.collapse-arrow>.collapse-title:after,.collapse[open].collapse-arrow>.collapse-title: after {
        transform:translateY(-50%)rotate(225deg)
    }

    .collapse.collapse-open.collapse-plus>.collapse-title:after {
        content: "−"
    }

    .collapse.collapse-arrow:focus:not(.collapse-close)>.collapse-title:after,.collapse.collapse-arrow:not(.collapse-close)>input: is([type=checkbox],[type=radio]):checked~.collapse-title:after {
    transform:translateY(-50%)rotate(225deg)
}

    .collapse.collapse-plus:focus:not(.collapse-close)>.collapse-title:after,.collapse.collapse-plus:not(.collapse-close)>input: is([type=checkbox],[type=radio]):checked~.collapse-title:after,.collapse[open].collapse-plus>.collapse-title:after {
    content:"−"
}

    .collapse:is(details) {
        width: 100%
    }

    .collapse:is(details) summary {
        display: block;
        position: relative
    }

    .collapse:is(details) summary: :-webkit-details-marker {
        display:none
    }

    .collapse:is(details) summary {
        outline: none
    }

    .collapse {
        visibility: collapse
    }

    .invisible {
        visibility: hidden
    }

    .visible {
        visibility: visible
    }

    .list {
        flex-direction: column;
        font-size: .875rem;
        display: flex
    }

    .list :where(.list-row) {
        --list-grid-cols: minmax(0,auto)1fr;
        border-radius: var(--radius-box);
        word-break: break-word;
        grid-auto-flow: column;
        grid-template-columns: var(--list-grid-cols);
        gap: 1rem;
        padding: 1rem;
        display: grid;
        position: relative
    }

    .list :where(.list-row):has(.list-col-grow:first-child) {
        --list-grid-cols: 1fr
    }

    .list :where(.list-row):has(.list-col-grow:nth-child(2)) {
        --list-grid-cols: minmax(0,auto)1fr
    }

    .list :where(.list-row):has(.list-col-grow:nth-child(3)) {
        --list-grid-cols: minmax(0,auto)minmax(0,auto)1fr
    }

    .list :where(.list-row):has(.list-col-grow:nth-child(4)) {
        --list-grid-cols: minmax(0,auto)minmax(0,auto)minmax(0,auto)1fr
    }

    .list :where(.list-row):has(.list-col-grow:nth-child(5)) {
        --list-grid-cols: minmax(0,auto)minmax(0,auto)minmax(0,auto)minmax(0,auto)1fr
    }

    .list :where(.list-row):has(.list-col-grow:nth-child(6)) {
        --list-grid-cols: minmax(0,auto)minmax(0,auto)minmax(0,auto)minmax(0,auto)minmax(0,auto)1fr
    }

    .list :where(.list-row) :not(.list-col-wrap) {
        grid-row-start: 1
    }

    :is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after {
        content: "";
        border-bottom: var(--border)solid;
        inset-inline: var(--radius-box);
        border-color: color-mix(in oklab,var(--color-base-content)5%,transparent);
        position: absolute;
        bottom: 0
    }

    .input {
        cursor: text;
        border: var(--border)solid #0000;
        appearance: none;
        background-color: var(--color-base-100);
        vertical-align: middle;
        white-space: nowrap;
        width: clamp(3rem,20rem,100%);
        height: var(--size);
        border-color: var(--input-color);
        box-shadow: 0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000)inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1))inset;
        --size: calc(var(--size-field,.25rem)*10);
        --input-color: color-mix(in oklab,var(--color-base-content)20%,#0000);
        border-start-start-radius: var(--join-ss,var(--radius-field));
        border-start-end-radius: var(--join-se,var(--radius-field));
        border-end-end-radius: var(--join-ee,var(--radius-field));
        border-end-start-radius: var(--join-es,var(--radius-field));
        flex-shrink: 1;
        align-items: center;
        gap: .5rem;
        padding-inline:.75rem;font-size: .875rem;
        display: inline-flex;
        position: relative
    }

    .input:where(input) {
        display: inline-flex
    }

    .input :where(input) {
        appearance: none;
        background-color: #0000;
        border: none;
        width: 100%;
        height: 100%;
        display: inline-flex
    }

    .input :where(input): focus,.input :where(input):focus-within {
        --tw-outline-style:none;
        outline-style: none
    }

    @media (forced-colors:active) {
        :is(.input :where(input):focus,.input :where(input):focus-within) {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    .input:focus,.input:focus-within {
        --input-color: var(--color-base-content);
        box-shadow: 0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000);
        outline: 2px solid var(--input-color);
        outline-offset: 2px;
        isolation: isolate
    }

    .input:has(>input[disabled]),.input: is(:disabled,[disabled]) {
    cursor:not-allowed;
    border-color: var(--color-base-200);
    background-color: var(--color-base-200);
    color: color-mix(in oklab,var(--color-base-content)40%,transparent);
    box-shadow: none
}

    :is(.input:has(>input[disabled]),.input: is(:disabled,[disabled]))::placeholder {
    color:color-mix(in oklab,var(--color-base-content)20%,transparent)
}

    .input:has(>input[disabled])>input[disabled] {
        cursor: not-allowed
    }

    .input::-webkit-date-and-time-value {
        text-align: inherit
    }

    .input[type=number]: :-webkit-inner-spin-button {
        margin-block:-.75rem;
        margin-inline-end:-.75rem}

    .input::-webkit-calendar-picker-indicator {
        position: absolute;
        inset-inline-end: .75em
    }

    .indicator {
        width: max-content;
        display: inline-flex;
        position: relative
    }

    .indicator :where(.indicator-item) {
        z-index: 1;
        white-space: nowrap;
        top: var(--inidicator-t,0);
        bottom: var(--inidicator-b,auto);
        left: var(--inidicator-s,auto);
        right: var(--inidicator-e,0);
        translate: var(--inidicator-x,50%)var(--indicator-y,-50%);
        position: absolute
    }

    .table {
        border-radius: var(--radius-box);
        text-align: left;
        width: 100%;
        font-size: .875rem;
        position: relative
    }

    .table:where(:dir(rtl),[dir=rtl],[dir=rtl] *) {
        text-align: right
    }

    @media (hover: hover) {
        :is(.table tr.row-hover,.table tr.row-hover:nth-child(2n)):hover {
            background-color:var(--color-base-200)
        }
    }

    .table :where(th,td) {
        vertical-align: middle;
        padding-block:.75rem;padding-inline:1rem}

    .table :where(thead,tfoot) {
        white-space: nowrap;
        color: color-mix(in oklab,var(--color-base-content)60%,transparent);
        font-size: .875rem;
        font-weight: 600
    }

    .table :where(tfoot) {
        border-top: var(--border)solid color-mix(in oklch,var(--color-base-content)5%,#0000)
    }

    .table :where(.table-pin-rows thead tr) {
        z-index: 1;
        background-color: var(--color-base-100);
        position: sticky;
        top: 0
    }

    .table :where(.table-pin-rows tfoot tr) {
        z-index: 1;
        background-color: var(--color-base-100);
        position: sticky;
        bottom: 0
    }

    .table :where(.table-pin-cols tr th) {
        background-color: var(--color-base-100);
        position: sticky;
        left: 0;
        right: 0
    }

    .table :where(thead tr,tbody tr: not(:last-child)) {
    border-bottom:var(--border)solid color-mix(in oklch,var(--color-base-content)5%,#0000)
}

    .steps {
        counter-reset: step;
        grid-auto-columns: 1fr;
        grid-auto-flow: column;
        display: inline-grid;
        overflow: auto hidden
    }

    .steps .step {
        text-align: center;
        --step-bg: var(--color-base-300);
        --step-fg: var(--color-base-content);
        grid-template-rows: 40px 1fr;
        grid-template-columns: auto;
        place-items: center;
        min-width: 4rem;
        display: grid
    }

    .steps .step:before {
        width: 100%;
        height: .5rem;
        color: var(--step-bg);
        background-color: var(--step-bg);
        --tw-content: "";
        content: var(--tw-content);
        border: 1px solid;
        grid-row-start: 1;
        grid-column-start: 1;
        margin-inline-start:-100%;top: 0
    }

    .steps .step:not(:has(.step-icon)):after,.steps .step>.step-icon {
        content: counter(step);
        counter-increment: step;
        z-index: 1;
        color: var(--step-fg);
        background-color: var(--step-bg);
        border: 1px solid var(--step-bg);
        border-radius: 3.40282e+38px;
        grid-row-start: 1;
        grid-column-start: 1;
        place-self: center;
        place-items: center;
        width: 2rem;
        height: 2rem;
        display: grid;
        position: relative
    }

    .steps .step:first-child:before {
        content: none
    }

    .steps .step[data-content]: after {
        content:attr(data-content)
    }

    .steps .step-neutral+.step-neutral:before,.steps .step-neutral:after,.steps .step-neutral>.step-icon {
        --step-bg: var(--color-neutral);
        --step-fg: var(--color-neutral-content)
    }

    .steps .step-primary+.step-primary:before,.steps .step-primary:after,.steps .step-primary>.step-icon {
        --step-bg: var(--color-primary);
        --step-fg: var(--color-primary-content)
    }

    .steps .step-secondary+.step-secondary:before,.steps .step-secondary:after,.steps .step-secondary>.step-icon {
        --step-bg: var(--color-secondary);
        --step-fg: var(--color-secondary-content)
    }

    .steps .step-accent+.step-accent:before,.steps .step-accent:after,.steps .step-accent>.step-icon {
        --step-bg: var(--color-accent);
        --step-fg: var(--color-accent-content)
    }

    .steps .step-info+.step-info:before,.steps .step-info:after,.steps .step-info>.step-icon {
        --step-bg: var(--color-info);
        --step-fg: var(--color-info-content)
    }

    .steps .step-success+.step-success:before,.steps .step-success:after,.steps .step-success>.step-icon {
        --step-bg: var(--color-success);
        --step-fg: var(--color-success-content)
    }

    .steps .step-warning+.step-warning:before,.steps .step-warning:after,.steps .step-warning>.step-icon {
        --step-bg: var(--color-warning);
        --step-fg: var(--color-warning-content)
    }

    .steps .step-error+.step-error:before,.steps .step-error:after,.steps .step-error>.step-icon {
        --step-bg: var(--color-error);
        --step-fg: var(--color-error-content)
    }

    .range {
        appearance: none;
        webkit-appearance: none;
        --range-thumb: var(--color-base-100);
        --range-thumb-size: calc(var(--size-selector,.25rem)*6);
        --range-progress: currentColor;
        --range-fill: 1;
        --range-p: .25rem;
        --range-bg: color-mix(in oklab,currentColor 10%,#0000);
        cursor: pointer;
        vertical-align: middle;
        --radius-selector-max: calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));
        border-radius: calc(var(--radius-selector) + min(var(--range-p),var(--radius-selector-max)));
        width: clamp(3rem,20rem,100%);
        height: var(--range-thumb-size);
        background-color: #0000;
        border: none;
        overflow: hidden
    }

    [dir=rtl] .range {
        --range-dir: -1
    }

    .range:focus {
        outline: none
    }

    .range:focus-visible {
        outline-offset: 2px;
        outline: 2px solid
    }

    .range::-webkit-slider-runnable-track {
        background-color: var(--range-bg);
        border-radius: var(--radius-selector);
        width: 100%;
        height: calc(var(--range-thumb-size)*.5)
    }

    @media (forced-colors:active) {
        .range::-webkit-slider-runnable-track {
            border: 1px solid
        }

        .range::-moz-range-track {
            border: 1px solid
        }
    }

    .range::-webkit-slider-thumb {
        box-sizing: border-box;
        border-radius: calc(var(--radius-selector) + min(var(--range-p),var(--radius-selector-max)));
        height: var(--range-thumb-size);
        width: var(--range-thumb-size);
        border: var(--range-p)solid;
        appearance: none;
        webkit-appearance: none;
        color: var(--range-progress);
        box-shadow: 0 -1px oklch(0 0 0/calc(var(--depth)*.1))inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1))inset,0 1px color-mix(in oklab,currentColor calc(var(--depth)*10%),#0000),0 0 0 2rem var(--range-thumb)inset,calc((var(--range-dir,1)*-100rem) - (var(--range-dir,1)*var(--range-thumb-size)/2))0 0 calc(100rem*var(--range-fill));
        background-color: currentColor;
        position: relative;
        top: 50%;
        transform: translateY(-50%)
    }

    .range::-moz-range-track {
        background-color: var(--range-bg);
        border-radius: var(--radius-selector);
        width: 100%;
        height: calc(var(--range-thumb-size)*.5)
    }

    .range::-moz-range-thumb {
        box-sizing: border-box;
        border-radius: calc(var(--radius-selector) + min(var(--range-p),var(--radius-selector-max)));
        height: var(--range-thumb-size);
        width: var(--range-thumb-size);
        border: var(--range-p)solid;
        color: var(--range-progress);
        box-shadow: 0 -1px oklch(0 0 0/calc(var(--depth)*.1))inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1))inset,0 1px color-mix(in oklab,currentColor calc(var(--depth)*10%),#0000),0 0 0 2rem var(--range-thumb)inset,calc((var(--range-dir,1)*-100rem) - (var(--range-dir,1)*var(--range-thumb-size)/2))0 0 calc(100rem*var(--range-fill));
        background-color: currentColor;
        position: relative;
        top: 50%
    }

    .range:disabled {
        cursor: not-allowed;
        opacity: .3
    }

    .timeline {
        display: flex;
        position: relative
    }

    .timeline>li {
        grid-template-rows: var(--timeline-row-start,minmax(0,1fr))auto var(--timeline-row-end,minmax(0,1fr));
        grid-template-columns: var(--timeline-col-start,minmax(0,1fr))auto var(--timeline-col-end,minmax(0,1fr));
        flex-shrink: 0;
        align-items: center;
        display: grid;
        position: relative
    }

    .timeline>li>hr {
        border: none;
        width: 100%
    }

    .timeline>li>hr: first-child {
        grid-row-start:2;
        grid-column-start: 1
    }

    .timeline>li>hr: last-child {
        grid-area:2/3/auto/none
    }

    @media print {
        .timeline>li>hr {
            border: .1px solid var(--color-base-300)
        }
    }

    .timeline :where(hr) {
        background-color: var(--color-base-300);
        height: .25rem
    }

    .timeline:has(.timeline-middle hr): first-child {
        border-start-start-radius:0;
        border-start-end-radius: var(--radius-selector);
        border-end-end-radius: var(--radius-selector);
        border-end-start-radius: 0
    }

    .timeline:has(.timeline-middle hr): last-child,.timeline:not(:has(.timeline-middle)) :first-child hr:last-child {
        border-start-start-radius:var(--radius-selector);
        border-start-end-radius: 0;
        border-end-end-radius: 0;
        border-end-start-radius: var(--radius-selector)
    }

    .timeline:not(:has(.timeline-middle)) :last-child hr: first-child {
        border-start-start-radius:0;
        border-start-end-radius: var(--radius-selector);
        border-end-end-radius: var(--radius-selector);
        border-end-start-radius: 0
    }

    .card {
        border-radius: var(--radius-box);
        outline-offset: 2px;
        outline: 0 solid #0000;
        flex-direction: column;
        transition: outline .2s ease-in-out;
        display: flex;
        position: relative
    }

    .card:focus {
        --tw-outline-style: none;
        outline-style: none
    }

    @media (forced-colors:active) {
        .card:focus {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    .card:focus-visible {
        outline-color: currentColor
    }

    .card :where(figure: first-child) {
        border-start-start-radius:inherit;
        border-start-end-radius: inherit;
        border-end-end-radius: unset;
        border-end-start-radius: unset;
        overflow: hidden
    }

    .card :where(figure: last-child) {
        border-start-start-radius:unset;
        border-start-end-radius: unset;
        border-end-end-radius: inherit;
        border-end-start-radius: inherit;
        overflow: hidden
    }

    .card:where(.card-border) {
        border: var(--border)solid var(--color-base-200)
    }

    .card:where(.card-dash) {
        border: var(--border)dashed var(--color-base-200)
    }

    .card.image-full {
        display: grid
    }

    .card.image-full:before {
        border-radius: var(--radius-box);
        background-color: var(--color-neutral);
        opacity: .75;
        content: "";
        position: relative
    }

    .card.image-full:before,.card.image-full>* {
        grid-row-start: 1;
        grid-column-start: 1
    }

    .card.image-full>.card-body {
        color: var(--color-neutral-content);
        position: relative
    }

    .card.image-full :where(figure) {
        border-radius: inherit;
        overflow: hidden
    }

    .card.image-full>figure img {
        object-fit: cover;
        height: 100%
    }

    .card figure {
        justify-content: center;
        align-items: center;
        display: flex
    }

    .card:has(>input: is(input[type=checkbox],input[type=radio])) {
    cursor:pointer;
    -webkit-user-select: none;
    user-select: none
}

    .card:has(>:checked) {
        outline: 2px solid
    }

    .select {
        border: var(--border)solid #0000;
        appearance: none;
        background-color: var(--color-base-100);
        vertical-align: middle;
        width: clamp(3rem,20rem,100%);
        height: var(--size);
        text-overflow: ellipsis;
        box-shadow: 0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000)inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1))inset;
        border-color: var(--input-color);
        --input-color: color-mix(in oklab,var(--color-base-content)20%,#0000);
        --size: calc(var(--size-field,.25rem)*10);
        background-image: linear-gradient(45deg,#0000 50%,currentColor 0),linear-gradient(135deg,currentColor 50%,#0000 0);
        background-position: calc(100% - 20px) calc(1px + 50%),calc(100% - 16.1px) calc(1px + 50%);
        background-repeat: no-repeat;
        background-size: 4px 4px,4px 4px;
        border-start-start-radius: var(--join-ss,var(--radius-field));
        border-start-end-radius: var(--join-se,var(--radius-field));
        border-end-end-radius: var(--join-ee,var(--radius-field));
        border-end-start-radius: var(--join-es,var(--radius-field));
        flex-shrink: 1;
        align-items: center;
        gap: .375rem;
        padding-inline:1rem 1.75rem;font-size: .875rem;
        display: inline-flex;
        position: relative
    }

    [dir=rtl] .select {
        background-position: 12px calc(1px + 50%),16px calc(1px + 50%)
    }

    .select select {
        appearance: none;
        background: inherit;
        border-radius: inherit;
        border-style: none;
        width: calc(100% + 2.75rem);
        height: calc(100% - 2px);
        margin-inline:-1rem -1.75rem;padding-inline:1rem 1.75rem}

    .select select: focus,.select select:focus-within {
        --tw-outline-style:none;
        outline-style: none
    }

    @media (forced-colors:active) {
        :is(.select select:focus,.select select:focus-within) {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    .select select: not(:last-child) {
    background-image:none;
    margin-inline-end:-1.375rem}

    .select:focus,.select:focus-within {
        --input-color: var(--color-base-content);
        box-shadow: 0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000);
        outline: 2px solid var(--input-color);
        outline-offset: 2px
    }

    .select:has(>select[disabled]),.select: is(:disabled,[disabled]) {
    cursor:not-allowed;
    border-color: var(--color-base-200);
    background-color: var(--color-base-200);
    color: color-mix(in oklab,var(--color-base-content)40%,transparent)
}

    :is(.select:has(>select[disabled]),.select: is(:disabled,[disabled]))::placeholder {
    color:color-mix(in oklab,var(--color-base-content)20%,transparent)
}

    .select:has(>select[disabled])>select[disabled] {
        cursor: not-allowed
    }

    .avatar {
        vertical-align: middle;
        display: inline-flex;
        position: relative
    }

    .avatar figure {
        width: 11rem;
        height: 11rem;
        border-radius: 9999px;
        overflow: hidden;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    }

    .avatar img {
        object-fit: cover;
        width: 100%;
        height: 100%
    }

    .stats {
        grid-auto-flow: column;
        display: inline-grid;
        overflow-x: auto
    }

    .progress,.stats {
        border-radius: var(--radius-box);
        position: relative
    }

    .progress {
        appearance: none;
        background-color: color-mix(in oklab,currentColor 20%,transparent);
        width: 100%;
        height: .5rem;
        color: var(--color-base-content);
        overflow: hidden
    }

    .progress:indeterminate {
        background-image: repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);
        background-position-x: 15%;
        background-size: 200%;
        animation: progress 5s ease-in-out infinite
    }

    @supports ((-moz-appearance: none)) {
        .progress:indeterminate::-moz-progress-bar {
            background-color:#0000;
            background-image: repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);
            background-position-x: 15%;
            background-size: 200%;
            animation: progress 5s ease-in-out infinite
        }

        .progress::-moz-progress-bar {
            border-radius: var(--radius-box);
            background-color: currentColor
        }
    }

    @supports ((-webkit-appearance: none)) {
        .progress::-webkit-progress-bar {
            border-radius:var(--radius-box);
            background-color: #0000
        }

        .progress::-webkit-progress-value {
            border-radius: var(--radius-box);
            background-color: currentColor
        }
    }

    .absolute {
        position: absolute
    }

    .fixed {
        position: fixed
    }

    .relative {
        position: relative
    }

    .static {
        position: static
    }

    .sticky {
        position: sticky
    }

    .tooltip-left>.tooltip-content,.tooltip-left[data-tip]: before {
        transform:translateX(calc(var(--tt-pos,.25rem) - .25rem))translateY(-50%);
        inset: 50% var(--tt-off)auto auto
    }

    .tooltip-left:after {
        transform: translateX(var(--tt-pos,.25rem))translateY(-50%)rotate(-90deg);
        inset: 50% calc(var(--tt-tail) + 1px)auto auto
    }

    .top-0 {
        top: calc(var(--spacing)*0)
    }

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

    .top-12 {
        top: calc(var(--spacing)*12)
    }

    .right-0 {
        right: calc(var(--spacing)*0)
    }

    .right-4 {
        right: calc(var(--spacing)*4)
    }

    .bottom-0 {
        bottom: calc(var(--spacing)*0)
    }

    .bottom-4 {
        bottom: calc(var(--spacing)*4)
    }

    .left-0 {
        left: calc(var(--spacing)*0)
    }

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

    .stack {
        grid-template-rows: 3px 4px 1fr 4px 3px;
        grid-template-columns: 3px 4px 1fr 4px 3px;
        display: inline-grid
    }

    .stack>* {
        width: 100%;
        height: 100%
    }

    .stack>:nth-child(n+2) {
        opacity: .7;
        width: 100%
    }

    .stack>:nth-child(2) {
        z-index: 2;
        opacity: .9
    }

    .stack>:first-child {
        z-index: 3;
        width: 100%
    }

    :is(.stack,.stack.stack-bottom)>* {
        grid-area: 3/3/6/4
    }

    :is(.stack,.stack.stack-bottom)>:nth-child(2) {
        grid-area: 2/2/5/5
    }

    :is(.stack,.stack.stack-bottom)>:first-child {
        grid-area: 1/1/4/6
    }

    .stack.stack-top>* {
        grid-area: 1/3/4/4
    }

    .stack.stack-top>:nth-child(2) {
        grid-area: 2/2/5/5
    }

    .stack.stack-top>:first-child {
        grid-area: 3/1/6/6
    }

    .stack.stack-start>* {
        grid-area: 3/1/4/4
    }

    .stack.stack-start>:nth-child(2) {
        grid-area: 2/2/5/5
    }

    .stack.stack-start>:first-child {
        grid-area: 1/3/6/6
    }

    .stack.stack-end>* {
        grid-area: 3/3/4/6
    }

    .stack.stack-end>:nth-child(2) {
        grid-area: 2/2/5/5
    }

    .stack.stack-end>:first-child {
        grid-area: 1/1/6/4
    }

    .z-1 {
        z-index: 1
    }

    .z-10 {
        z-index: 10
    }

    .z-20 {
        z-index: 20
    }

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

    .container {
        width: 100%
    }

    @media (width>=40rem) {
        .container {
            max-width: 40rem
        }
    }

    @media (width>=48rem) {
        .container {
            max-width: 48rem
        }
    }

    @media (width>=64rem) {
        .container {
            max-width: 64rem
        }
    }

    @media (width>=80rem) {
        .container {
            max-width: 80rem
        }
    }

    @media (width>=96rem) {
        .container {
            max-width: 96rem
        }
    }

    .divider {
        white-space: nowrap;
        height: 1rem;
        margin: var(--divider-m,1rem 0);
        flex-direction: row;
        align-self: stretch;
        align-items: center;
        display: flex
    }

    .divider:after,.divider:before {
        content: "";
        background-color: color-mix(in oklab,var(--color-base-content)10%,transparent);
        flex-grow: 1;
        width: 100%;
        height: .125rem
    }

    @media print {
        .divider:after,.divider:before {
            border: .5px solid
        }
    }

    .divider:not(:empty) {
        gap: 1rem
    }

    .m-1 {
        margin: calc(var(--spacing)*1)
    }

    .m-2 {
        margin: calc(var(--spacing)*2)
    }

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

    .filter input[type=radio] {
        width: auto
    }

    .filter input {
        opacity: 1;
        transition: margin .1s,opacity .3s,padding .3s,border-width .1s;
        overflow: hidden;
        scale: 1
    }

    .filter input: not(:last-child) {
    margin-inline-end:.25rem
}

    .filter input.filter-reset {
        aspect-ratio: 1
    }

    .filter input.filter-reset: after {
        content:"×"
    }

    .filter:has(input: checked:not(.filter-reset)) input:not(:checked,.filter-reset,input[type=reset]),.filter:not(:has(input:checked:not(.filter-reset))) .filter-reset,.filter:not(:has(input:checked:not(.filter-reset))) input[type=reset] {
        opacity:0;
        border-width: 0;
        width: 0;
        margin-inline:0;padding-inline:0;scale: 0
    }

    .mx-auto {
        margin-inline:auto}

    .my-0 {
        margin-block:calc(var(--spacing)*0)}

    .my-2 {
        margin-block: calc(var(--spacing)*2)
    }

    .my-8 {
        margin-block:calc(var(--spacing)*8)}

    .my-12 {
        margin-block: calc(var(--spacing)*12)
    }

    .my-16 {
        margin-block:calc(var(--spacing)*16)}

    .label {
        white-space: nowrap;
        color: color-mix(in oklab,currentColor 60%,transparent);
        align-items: center;
        gap: .375rem;
        display: inline-flex
    }

    .label:has(input) {
        cursor: pointer
    }

    .label:is(.input>*,.select>*) {
        white-space: nowrap;
        height: calc(100% - .5rem);
        font-size: inherit;
        align-items: center;
        padding-inline:.75rem;display: flex
    }

    .label:is(.input>*,.select>*):first-child {
        border-inline-end:var(--border)solid color-mix(in oklab,currentColor 10%,#0000);margin-inline: -.75rem .75rem
    }

    .label:is(.input>*,.select>*):last-child {
        border-inline-start:var(--border)solid color-mix(in oklab,currentColor 10%,#0000);margin-inline: .75rem -.75rem
    }

    .mt-1 {
        margin-top: calc(var(--spacing)*1)
    }

    .mt-2 {
        margin-top: calc(var(--spacing)*2)
    }

    .mt-3 {
        margin-top: calc(var(--spacing)*3)
    }

    .mt-4 {
        margin-top: calc(var(--spacing)*4)
    }

    .mt-5 {
        margin-top: calc(var(--spacing)*5)
    }

    .mt-6 {
        margin-top: calc(var(--spacing)*6)
    }

    .mt-7 {
        margin-top: calc(var(--spacing)*7)
    }

    .mt-8 {
        margin-top: calc(var(--spacing)*8)
    }

    .mt-10 {
        margin-top: calc(var(--spacing)*10)
    }

    .mt-16 {
        margin-top: calc(var(--spacing)*16)
    }

    .breadcrumbs {
        max-width: 100%;
        padding-block:.5rem;overflow-x: auto
    }

    .breadcrumbs>menu,.breadcrumbs>ol,.breadcrumbs>ul {
        white-space: nowrap;
        align-items: center;
        min-height: min-content;
        display: flex
    }

    :is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li {
        align-items: center;
        display: flex
    }

    :is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li>* {
        cursor: pointer;
        align-items: center;
        gap: .5rem;
        display: flex
    }

    @media (hover: hover) {
        :is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li>:hover {
            text-decoration-line:underline
        }
    }

    :is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li>: focus {
        --tw-outline-style:none;
        outline-style: none
    }

    @media (forced-colors:active) {
        :is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li>:focus {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    :is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li>: focus-visible {
        outline-offset:2px;
        outline: 2px solid
    }

    :is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li+: before {
        content:"";
        opacity: .4;
        background-color: #0000;
        border-top: 1px solid;
        border-right: 1px solid;
        width: .375rem;
        height: .375rem;
        margin-left: .5rem;
        margin-right: .75rem;
        display: block;
        rotate: 45deg
    }

    [dir=rtl] : is(:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li)+:before {
    rotate:-135deg
}

    .mr-1 {
        margin-right: calc(var(--spacing)*1)
    }

    .mr-2 {
        margin-right: calc(var(--spacing)*2)
    }

    .mr-4 {
        margin-right: calc(var(--spacing)*4)
    }

    .mr-8 {
        margin-right: calc(var(--spacing)*8)
    }

    .mb-1 {
        margin-bottom: calc(var(--spacing)*1)
    }

    .mb-2 {
        margin-bottom: calc(var(--spacing)*2)
    }

    .mb-3 {
        margin-bottom: calc(var(--spacing)*3)
    }

    .mb-4 {
        margin-bottom: calc(var(--spacing)*4)
    }

    .mb-5 {
        margin-bottom: calc(var(--spacing)*5)
    }

    .mb-6 {
        margin-bottom: calc(var(--spacing)*6)
    }

    .mb-8 {
        margin-bottom: calc(var(--spacing)*8)
    }

    .mb-20 {
        margin-bottom: calc(var(--spacing)*20)
    }

    .ml-2 {
        margin-left: calc(var(--spacing)*2)
    }

    .ml-3 {
        margin-left: calc(var(--spacing)*3)
    }

    .ml-4 {
        margin-left: calc(var(--spacing)*4)
    }

    .ml-12 {
        margin-left: calc(var(--spacing)*12)
    }

    .status {
        aspect-ratio: 1;
        background-color: color-mix(in oklab,var(--color-base-content)20%,transparent);
        width: .5rem;
        height: .5rem;
        color: color-mix(in oklab,var(--color-black)30%,transparent);
        background-position: 50%;
        background-repeat: no-repeat;
        background-image: radial-gradient(circle at 35% 30%,oklch(1 0 0/calc(var(--depth)*.5)),#0000);
        box-shadow: 0 2px 3px -1px color-mix(in oklab,currentColor calc(var(--depth)*100%),#0000);
        display: inline-block
    }

    .badge,.status {
        border-radius: var(--radius-selector);
        vertical-align: middle
    }

    .badge {
        color: var(--badge-fg);
        border: var(--border)solid var(--badge-color,var(--color-base-200));
        width: fit-content;
        padding-inline:calc(.25rem*3 - var(--border));background-size: auto,calc(var(--noise)*100%);
        background-image: none,var(--fx-noise);
        background-color: var(--badge-bg);
        --badge-bg: var(--badge-color,var(--color-base-100));
        --badge-fg: var(--color-base-content);
        --size: calc(var(--size-selector,.25rem)*6);
        height: var(--size);
        justify-content: center;
        align-items: center;
        gap: .5rem;
        font-size: .875rem;
        display: inline-flex
    }

    .badge.badge-dash,.badge.badge-outline {
        --badge-fg: var(--badge-color);
        --badge-bg: #0000;
        background-image: none
    }

    .badge.badge-dash {
        border-style: dashed
    }

    .badge.badge-soft {
        color: var(--badge-color,var(--color-base-content));
        background-color: color-mix(in oklab,var(--badge-color,var(--color-base-content))8%,var(--color-base-100));
        border-color: color-mix(in oklab,var(--badge-color,var(--color-base-content))10%,var(--color-base-100));
        background-image: none
    }

    .stat {
        grid-template-columns: repeat(1,1fr);
        column-gap: 1rem;
        width: 100%;
        padding-block:1rem;padding-inline:1.5rem;display: inline-grid
    }

    .stat:not(:last-child) {
        border-inline-end:var(--border)dashed color-mix(in oklab,currentColor 10%,#0000);border-block-end: none
    }

    .card-body {
        padding: var(--card-p,1.5rem);
        font-size: var(--card-fs,.875rem);
        flex-direction: column;
        flex: auto;
        gap: .5rem;
        display: flex
    }

    .card-body :where(p) {
        flex-grow: 1
    }

    .alert {
        border-radius: var(--radius-box);
        color: var(--color-base-content);
        background-color: var(--alert-color,var(--color-base-200));
        text-align: start;
        border: var(--border)solid var(--color-base-200);
        background-size: auto,calc(var(--noise)*100%);
        background-image: none,var(--fx-noise);
        box-shadow: 0 3px 0 -2px oklch(100% 0 0/calc(var(--depth)*.08))inset,0 1px color-mix(in oklab,color-mix(in oklab,#000 20%,var(--alert-color,var(--color-base-200)))calc(var(--depth)*20%),#0000),0 4px 3px -2px oklch(0 0 0/calc(var(--depth)*.08));
        grid-template-columns: auto;
        grid-auto-flow: column;
        justify-content: start;
        place-items: center start;
        gap: 1rem;
        padding-block:.75rem;padding-inline:1rem;font-size: .875rem;
        line-height: 1.25rem;
        display: grid
    }

    .alert:has(:nth-child(2)) {
        grid-template-columns: auto minmax(auto,1fr)
    }

    .alert.alert-dash,.alert.alert-outline {
        color: var(--alert-color);
        box-shadow: none;
        background-color: #0000;
        background-image: none
    }

    .alert.alert-dash {
        border-style: dashed
    }

    .alert.alert-soft {
        color: var(--alert-color,var(--color-base-content));
        background: color-mix(in oklab,var(--alert-color,var(--color-base-content))8%,var(--color-base-100));
        border-color: color-mix(in oklab,var(--alert-color,var(--color-base-content))10%,var(--color-base-100));
        box-shadow: none;
        background-image: none
    }

    .card-actions {
        flex-wrap: wrap;
        align-items: flex-start;
        gap: .5rem;
        display: flex
    }

    .card-title {
        font-size: var(--cardtitle-fs,1.125rem);
        align-items: center;
        gap: .5rem;
        font-weight: 600;
        display: flex
    }

    .join {
        --join-ss: 0;
        --join-se: 0;
        --join-es: 0;
        --join-ee: 0;
        align-items: stretch;
        display: inline-flex
    }

    .join :where(.join-item) {
        border-start-start-radius: var(--join-ss,0);
        border-start-end-radius: var(--join-se,0);
        border-end-end-radius: var(--join-ee,0);
        border-end-start-radius: var(--join-es,0)
    }

    .join :where(.join-item) * {
        --join-ss: var(--radius-field);
        --join-se: var(--radius-field);
        --join-es: var(--radius-field);
        --join-ee: var(--radius-field)
    }

    .join :first-child:not(:last-child) :where(.join-item),.join>.join-item:where(:first-child) {
        --join-ss: var(--radius-field);
        --join-se: 0;
        --join-es: var(--radius-field);
        --join-ee: 0
    }

    .join :last-child:not(:first-child) :where(.join-item),.join>.join-item:where(:last-child) {
        --join-ss: 0;
        --join-se: var(--radius-field);
        --join-es: 0;
        --join-ee: var(--radius-field)
    }

    .join :only-child :where(.join-item),.join>.join-item:where(:only-child) {
        --join-ss: var(--radius-field);
        --join-se: var(--radius-field);
        --join-es: var(--radius-field);
        --join-ee: var(--radius-field)
    }

    .chat {
        column-gap: .75rem;
        padding-block:.25rem;display: grid
    }

    .mask {
        vertical-align: middle;
        display: inline-block;
        -webkit-mask-position: 50%;
        mask-position: 50%;
        -webkit-mask-size: contain;
        mask-size: contain;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat
    }

    .block {
        display: block
    }

    .contents {
        display: contents
    }

    .flex {
        display: flex
    }

    .grid {
        display: grid
    }

    .hidden {
        display: none
    }

    .inline {
        display: inline
    }

    .inline-block {
        display: inline-block
    }

    .table {
        display: table
    }

    .btn-circle {
        width: var(--size);
        height: var(--size);
        border-radius: 3.40282e+38px;
        padding-inline:0}

    .h-2 {
        height: calc(var(--spacing)*2)
    }

    .h-3 {
        height: calc(var(--spacing)*3)
    }

    .h-4 {
        height: calc(var(--spacing)*4)
    }

    .h-5 {
        height: calc(var(--spacing)*5)
    }

    .h-6 {
        height: calc(var(--spacing)*6)
    }

    .h-8 {
        height: calc(var(--spacing)*8)
    }

    .h-12 {
        height: calc(var(--spacing)*12)
    }

    .h-16 {
        height: calc(var(--spacing)*16)
    }

    .h-28 {
        height: calc(var(--spacing)*28)
    }

    .h-32 {
        height: calc(var(--spacing)*32)
    }

    .h-40 {
        height: calc(var(--spacing)*40)
    }

    .h-44 {
        height: calc(var(--spacing)*44)
    }

    .h-\[3rem\] {
        height: 3rem
    }

    .h-\[42em\] {
        height: 42em
    }

    .h-\[80vh\] {
        height: 80vh
    }

    .h-\[calc\(100dvh\)\] {
        height: 100dvh
    }

    .h-fit {
        height: fit-content
    }

    .h-full {
        height: 100%
    }

    .min-h-\[14rem\] {
        min-height: 14rem
    }

    .min-h-\[calc\(100vh-3rem\)\] {
        min-height: calc(100vh - 3rem)
    }

    .w-2 {
        width: calc(var(--spacing)*2)
    }

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

    .w-3 {
        width: calc(var(--spacing)*3)
    }

    .w-4 {
        width: calc(var(--spacing)*4)
    }

    .w-6 {
        width: calc(var(--spacing)*6)
    }

    .w-8 {
        width: calc(var(--spacing)*8)
    }

    .w-12 {
        width: calc(var(--spacing)*12)
    }

    .w-16 {
        width: calc(var(--spacing)*16)
    }

    .w-28 {
        width: calc(var(--spacing)*28)
    }

    .w-32 {
        width: calc(var(--spacing)*32)
    }

    .w-60 {
        width: calc(var(--spacing)*60)
    }

    .w-80 {
        width: calc(var(--spacing)*80)
    }

    .w-96 {
        width: calc(var(--spacing)*96)
    }

    .w-\[calc\(100vw-4em\)\] {
        width: calc(100vw - 4em)
    }

    .w-full {
        width: 100%
    }

    .w-screen {
        width: 100vw
    }

    .max-w-4xl {
        max-width: var(--container-4xl)
    }

    .max-w-90 {
        max-width: calc(var(--spacing)*90)
    }

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

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

    .max-w-screen-2xl {
        max-width: var(--breakpoint-2xl)
    }

    .max-w-screen-lg {
        max-width: var(--breakpoint-lg)
    }

    .max-w-screen-md {
        max-width: var(--breakpoint-md)
    }

    .min-w-0 {
        min-width: calc(var(--spacing)*0)
    }

    .flex-1 {
        flex: 1
    }

    .shrink-0 {
        flex-shrink: 0
    }

    .grow {
        flex-grow: 1
    }

    .-translate-x-1\/2 {
        --tw-translate-x: calc(calc(1/2*100%)*-1)
    }

    .-translate-x-1\/2,.translate-x-\[-100\%\] {
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .translate-x-\[-100\%\] {
        --tw-translate-x: -100%
    }

    .-translate-y-1 {
        --tw-translate-y: calc(var(--spacing)*-1)
    }

    .-translate-y-1,.-translate-y-1\/2 {
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .-translate-y-1\/2 {
        --tw-translate-y: calc(calc(1/2*100%)*-1)
    }

    .-rotate-3 {
        rotate: -3deg
    }

    .transform {
        transform: var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)
    }

    .animate-bounce {
        animation: var(--animate-bounce)
    }

    .link {
        cursor: pointer;
        text-decoration-line: underline
    }

    .link:focus {
        --tw-outline-style: none;
        outline-style: none
    }

    @media (forced-colors:active) {
        .link:focus {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    .link:focus-visible {
        outline-offset: 2px;
        outline: 2px solid
    }

    .cursor-pointer {
        cursor: pointer
    }

    .resize {
        resize: both
    }

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

    .auto-rows-max {
        grid-auto-rows: max-content
    }

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

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

    .flex-col {
        flex-direction: column
    }

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

    .flex-wrap {
        flex-wrap: wrap
    }

    .items-center {
        align-items: center
    }

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

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

    .items-stretch {
        align-items: stretch
    }

    .justify-center {
        justify-content: center
    }

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

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

    .gap-4 {
        gap: calc(var(--spacing)*4)
    }

    .gap-5 {
        gap: calc(var(--spacing)*5)
    }

    .gap-x-16 {
        column-gap: calc(var(--spacing)*16)
    }

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

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

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

    .rounded {
        border-radius: .25rem
    }

    .rounded-full {
        border-radius: 3.40282e+38px
    }

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

    .rounded-xl {
        border-radius: var(--radius-xl)
    }

    .border {
        border-style: var(--tw-border-style);
        border-width: 1px
    }

    .border-2 {
        border-style: var(--tw-border-style);
        border-width: 2px
    }

    .border-8 {
        border-style: var(--tw-border-style);
        border-width: 8px
    }

    .border-\[1px\] {
        border-style: var(--tw-border-style);
        border-width: 1px
    }

    .border-blue-400 {
        border-color: var(--color-blue-400)
    }

    .border-gray-500 {
        border-color: var(--color-gray-500)
    }

    .border-white {
        border-color: var(--color-white)
    }

    .bg-base-100 {
        background-color: var(--color-base-100)
    }

    .bg-slate-100 {
        background-color: var(--color-slate-100)
    }

    .bg-slate-400 {
        background-color: var(--color-slate-400)
    }

    .bg-white {
        background-color: var(--color-white)
    }

    .fill-base-content {
        fill: var(--color-base-content)
    }

    .fill-slate-600 {
        fill: var(--color-slate-600)
    }

    .fill-slate-800 {
        fill: var(--color-slate-800)
    }

    .object-cover {
        object-fit: cover
    }

    .p-2 {
        padding: calc(var(--spacing)*2)
    }

    .p-3 {
        padding: calc(var(--spacing)*3)
    }

    .p-4 {
        padding: calc(var(--spacing)*4)
    }

    .p-5 {
        padding: calc(var(--spacing)*5)
    }

    .p-6 {
        padding: calc(var(--spacing)*6)
    }

    .px-1 {
        padding-inline:calc(var(--spacing)*1)}

    .px-2 {
        padding-inline: calc(var(--spacing)*2)
    }

    .px-4 {
        padding-inline:calc(var(--spacing)*4)}

    .px-5 {
        padding-inline: calc(var(--spacing)*5)
    }

    .px-8 {
        padding-inline:calc(var(--spacing)*8)}

    .py-3 {
        padding-block: calc(var(--spacing)*3)
    }

    .pt-0 {
        padding-top: calc(var(--spacing)*0)
    }

    .pt-1 {
        padding-top: calc(var(--spacing)*1)
    }

    .pt-2 {
        padding-top: calc(var(--spacing)*2)
    }

    .pt-3 {
        padding-top: calc(var(--spacing)*3)
    }

    .pt-5 {
        padding-top: calc(var(--spacing)*5)
    }

    .pt-7 {
        padding-top: calc(var(--spacing)*7)
    }

    .pt-8 {
        padding-top: calc(var(--spacing)*8)
    }

    .pt-10 {
        padding-top: calc(var(--spacing)*10)
    }

    .pt-12 {
        padding-top: calc(var(--spacing)*12)
    }

    .pt-14 {
        padding-top: calc(var(--spacing)*14)
    }

    .pt-50 {
        padding-top: calc(var(--spacing)*50)
    }

    .pr-0 {
        padding-right: calc(var(--spacing)*0)
    }

    .pr-4 {
        padding-right: calc(var(--spacing)*4)
    }

    .pr-5 {
        padding-right: calc(var(--spacing)*5)
    }

    .pr-6 {
        padding-right: calc(var(--spacing)*6)
    }

    .pr-7 {
        padding-right: calc(var(--spacing)*7)
    }

    .pb-1 {
        padding-bottom: calc(var(--spacing)*1)
    }

    .pb-2 {
        padding-bottom: calc(var(--spacing)*2)
    }

    .pb-3 {
        padding-bottom: calc(var(--spacing)*3)
    }

    .pb-4 {
        padding-bottom: calc(var(--spacing)*4)
    }

    .pb-5 {
        padding-bottom: calc(var(--spacing)*5)
    }

    .pb-10 {
        padding-bottom: calc(var(--spacing)*10)
    }

    .pb-12 {
        padding-bottom: calc(var(--spacing)*12)
    }

    .pb-16 {
        padding-bottom: calc(var(--spacing)*16)
    }

    .pl-2 {
        padding-left: calc(var(--spacing)*2)
    }

    .pl-3 {
        padding-left: calc(var(--spacing)*3)
    }

    .pl-4 {
        padding-left: calc(var(--spacing)*4)
    }

    .pl-5 {
        padding-left: calc(var(--spacing)*5)
    }

    .pl-7 {
        padding-left: calc(var(--spacing)*7)
    }

    .text-center {
        text-align: center
    }

    .text-justify {
        text-align: justify
    }

    .text-right {
        text-align: right
    }

    .align-middle {
        vertical-align: middle
    }

    .\!text-4xl {
        font-size: var(--text-4xl)!important;
        line-height: var(--tw-leading,var(--text-4xl--line-height))!important
    }

    .text-2xl {
        font-size: var(--text-2xl);
        line-height: var(--tw-leading,var(--text-2xl--line-height))
    }

    .text-3xl {
        font-size: var(--text-3xl);
        line-height: var(--tw-leading,var(--text-3xl--line-height))
    }

    .text-4xl {
        font-size: var(--text-4xl);
        line-height: var(--tw-leading,var(--text-4xl--line-height))
    }

    .text-base {
        font-size: var(--text-base);
        line-height: var(--tw-leading,var(--text-base--line-height))
    }

    .text-lg {
        font-size: var(--text-lg);
        line-height: var(--tw-leading,var(--text-lg--line-height))
    }

    .text-sm {
        font-size: var(--text-sm);
        line-height: var(--tw-leading,var(--text-sm--line-height))
    }

    .text-xl {
        font-size: var(--text-xl);
        line-height: var(--tw-leading,var(--text-xl--line-height))
    }

    .text-xs {
        font-size: var(--text-xs);
        line-height: var(--tw-leading,var(--text-xs--line-height))
    }

    .font-bold {
        --tw-font-weight: var(--font-weight-bold);
        font-weight: var(--font-weight-bold)
    }

    .font-normal {
        --tw-font-weight: var(--font-weight-normal);
        font-weight: var(--font-weight-normal)
    }

    .font-semibold {
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold)
    }

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

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

    .\!text-base-100 {
        color: var(--color-base-100)!important
    }

    .text-blue-800 {
        color: var(--color-blue-800)
    }

    .text-gray-500 {
        color: var(--color-gray-500)
    }

    .text-gray-700 {
        color: var(--color-gray-700)
    }

    .text-gray-800 {
        color: var(--color-gray-800)
    }

    .text-orange-300 {
        color: var(--color-orange-300)
    }

    .text-sky-800 {
        color: var(--color-sky-800)
    }

    .italic {
        font-style: italic
    }

    .underline {
        text-decoration-line: underline
    }

    .opacity-0 {
        opacity: 0
    }

    .opacity-50 {
        opacity: .5
    }

    .opacity-70 {
        opacity: .7
    }

    .opacity-80 {
        opacity: .8
    }

    .opacity-90 {
        opacity: .9
    }

    .shadow-lg {
        --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)
    }

    .shadow-lg,.shadow-md {
        box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)
    }

    .shadow-md {
        --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)
    }

    .shadow-xl {
        --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a)
    }

    .ring,.shadow-xl {
        box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)
    }

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

    .shadow-custom {
        box-shadow: 1px 1px 2px oklch(from var(--color-base-content)l c h/.5),-1px 1px 2px oklch(from var(--color-base-content)l c h/.5),1px -1px 2px oklch(from var(--color-base-content)l c h/.5),-1px -1px 2px oklch(from var(--color-base-content)l c h/.5)
    }

    .outline {
        outline-style: var(--tw-outline-style);
        outline-width: 1px
    }

    .blur {
        --tw-blur: blur(8px)
    }

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

    .invert {
        --tw-invert: invert(100%)
    }

    .filter {
        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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;
        transition-timing-function: var(--tw-ease,var(--default-transition-timing-function));
        transition-duration: var(--tw-duration,var(--default-transition-duration))
    }

    .transition-all {
        transition-property: all;
        transition-timing-function: var(--tw-ease,var(--default-transition-timing-function));
        transition-duration: var(--tw-duration,var(--default-transition-duration))
    }

    .delay-50 {
        transition-delay: 50ms
    }

    .ease-in-out {
        --tw-ease: var(--ease-in-out);
        transition-timing-function: var(--ease-in-out)
    }

    .btn-outline:not(.btn-active,:hover,:active:focus,:focus-visible,:disabled,[disabled],.btn-disabled,: checked) {
        --btn-shadow:"";
        --btn-bg: #0000;
        --btn-fg: var(--btn-color);
        --btn-border: var(--btn-color);
        --btn-noise: none
    }

    .btn-lg {
        --fontsize: 1.125rem;
        --btn-p: 1.25rem;
        --size: calc(var(--size-field,.25rem)*12)
    }

    .btn-sm {
        --fontsize: .75rem;
        --btn-p: .75rem;
        --size: calc(var(--size-field,.25rem)*8)
    }

    .badge-accent {
        --badge-color: var(--color-accent);
        --badge-fg: var(--color-accent-content)
    }

    .btn-primary {
        --btn-color: var(--color-primary);
        --btn-fg: var(--color-primary-content)
    }

    .\[animation-delay\: -0\.3s\] {
    animation-delay:-.3s
}

    .\[animation-delay\: -0\.15s\] {
    animation-delay:-.15s
}

    @media (hover: hover) {
        .group-hover\:fill-white:is(:where(.group):hover *) {
            fill:var(--color-white)
        }

        .group-hover\:p-7:is(:where(.group):hover *) {
            padding: calc(var(--spacing)*7)
        }

        .group-hover\:opacity-100:is(:where(.group):hover *) {
            opacity: 1
        }

        .group-hover\:backdrop-blur-sm:is(:where(.group):hover *) {
            --tw-backdrop-blur: blur(var(--blur-sm));
            -webkit-backdrop-filter: var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);
            backdrop-filter: var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)
        }

        .hover\:bg-blue-100:hover {
            background-color: var(--color-blue-100)
        }

        .hover\:bg-gray-300:hover {
            background-color: var(--color-gray-300)
        }

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

        .hover\:opacity-50:hover {
            opacity: .5
        }

        .hover\:shadow-md:hover {
            --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);
            box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)
        }
    }

    @media (width>=48rem) {
        .md\: fixed {
            position:fixed
        }

        .md\:right-16 {
            right: calc(var(--spacing)*16)
        }

        .md\:bottom-12 {
            bottom: calc(var(--spacing)*12)
        }

        .md\:block {
            display: block
        }

        .md\:flex {
            display: flex
        }

        .md\:hidden {
            display: none
        }

        .md\:h-screen {
            height: 100vh
        }

        .md\:w-80 {
            width: calc(var(--spacing)*80)
        }

        .md\:shrink-0 {
            flex-shrink: 0
        }

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

        .md\:overflow-x-hidden {
            overflow-x: hidden
        }

        .md\:overflow-y-auto {
            overflow-y: auto
        }

        .md\:pt-8 {
            padding-top: calc(var(--spacing)*8)
        }

        .md\:pr-8 {
            padding-right: calc(var(--spacing)*8)
        }

        .md\:pl-10 {
            padding-left: calc(var(--spacing)*10)
        }

        .md\:pl-12 {
            padding-left: calc(var(--spacing)*12)
        }
    }

    @media (width>=64rem) {
        .lg\: grid-cols-2 {
            grid-template-columns:repeat(2,minmax(0,1fr))
        }
    }

    @media (width>=80rem) {
        .xl\: h-44 {
            height:calc(var(--spacing)*44)
        }

        .xl\:w-44 {
            width: calc(var(--spacing)*44)
        }
    }

    @media print {
        .print\:hidden {
            display: none
        }
    }
}

html {
    print-color-adjust: exact
}

body {
    background-color: var(--color-base-200);
    background-image: url(/images/bio/ghibli-background.png);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    width: 100vw;
    overflow-x: hidden
}

body * {
    z-index: 1
}

.bg-fixed-due-to-ios-not-supported {
    display: none
}

@supports (-webkit-touch-callout:none) {
    @media screen and (width<=600px) {
        .bg-fixed-due-to-ios-not-supported {
            height: calc(var(--vh,1vh)*100);
            z-index: 0;
            width: 100vw;
            top: calc(var(--spacing)*0);
            left: calc(var(--spacing)*0);
            background-image: url(/images/bio/ghibli-background.png);
            background-position: bottom;
            background-repeat: no-repeat;
            background-size: cover;
            transition: all .5s linear;
            display: block;
            position: fixed
        }
    }
}

h1 {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading,var(--text-3xl--line-height));
    font-weight: 700
}

h1,h2 {
    font-family: Newsreader,serif
}

h2 {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading,var(--text-2xl--line-height))
}

h3 {
    font-size: var(--text-xl);
    line-height: var(--tw-leading,var(--text-xl--line-height));
    font-family: Newsreader,serif
}

a,a:active,a:hover,a:link,a:visited {
    color: var(--color-accent)
}

@media (hover: hover) {
    :is(a,a:link,a:visited,a:hover,a:active):hover {
        color:var(--color-neutral)
    }
}

.bg-card {
    background-color: var(--color-base-100);
    box-shadow: 1px 1px 2px oklch(from var(--color-base-content)l c h/.5),-1px 1px 2px oklch(from var(--color-base-content)l c h/.5),1px -1px 2px oklch(from var(--color-base-content)l c h/.5),-1px -1px 2px oklch(from var(--color-base-content)l c h/.5)
}

.text-on-bg {
    color: var(--color-base-100);
    text-shadow: 1px 1px 2px oklch(from var(--color-base-content)l c h/.7),-1px 1px 2px oklch(from var(--color-base-content)l c h/.7),1px -1px 2px oklch(from var(--color-base-content)l c h/.7),-1px -1px 2px oklch(from var(--color-base-content)l c h/.7)
}

.text-on-bg svg {
    filter: drop-shadow(0 0 .5rem #000000b3);
    fill: var(--color-base-300)
}

@media (hover: hover) {
    .text-on-bg svg:hover {
        fill:var(--color-accent)
    }
}

.text-on-bg a,.text-on-bg a:active,.text-on-bg a:hover,.text-on-bg a:link,.text-on-bg a:visited {
    color: var(--color-accent-content)
}

@media (hover: hover) {
    :is(.text-on-bg a,.text-on-bg a:link,.text-on-bg a:visited,.text-on-bg a:hover,.text-on-bg a:active):hover {
        color:var(--color-accent)
    }
}

ul {
    padding-left: 20px;
    list-style-type: circle
}

::-webkit-scrollbar-track {
    background: 0 0
}

::-webkit-scrollbar {
    width: .8em
}

::-webkit-scrollbar-thumb {
    background: 0 0;
    border: 4px solid #0000;
    border-radius: 16px;
    box-shadow: inset 0 0 6px 6px #0000002e
}

.hide-scrollbar {
    scrollbar-width: none
}

.hide-scrollbar::-webkit-scrollbar {
    display: none
}

.timeline {
    flex-direction: column;
    margin-top: 1em
}

.timeline .timeline-entry {
    flex-direction: row;
    display: flex
}

.timeline .timeline-entry>.left>.timeline-line {
    width: 1em;
    height: 100%;
    display: inline-block
}

.timeline .timeline-entry>.left>.timeline-line .line {
    background-color: var(--color-base-300);
    width: 2px;
    height: 100%;
    position: relative;
    left: 50%;
    transform: translate(-50%)
}

.timeline .timeline-entry>.left>.timeline-line .line.short {
    height: calc(100% - 1em)
}

.timeline .timeline-entry>.left>.timeline-line .circle {
    background-color: var(--color-base-300);
    border-radius: 50%;
    width: .7em;
    height: .7em;
    position: relative;
    top: .2em;
    left: 50%;
    transform: translate(-50%)
}

.timeline .timeline-entry>.right {
    margin-bottom: 1.5em;
    margin-left: 1em
}

.timeline .timeline-entry>.right .timeline-time {
    padding-bottom: .2em;
    font-size: .8em
}

.timeline .timeline-entry>.right .timeline-title {
    font-size: 1.1em;
    font-weight: 700
}

section.bio h2,section.bio p {
    padding-bottom: .9em
}

section.bio h2 {
    font-weight: 700
}

section.bio img {
    border-radius: 6px;
    margin-top: .6em;
    margin-bottom: .6em
}

.chat p:not(:last-child) {
    margin-bottom: 1em
}

:root:has(.no-doc-scroll) {
    overflow: hidden
}

.anim-fade-in {
    opacity: 0;
    animation: fade-in .25s cubic-bezier(0,0,.2,1) forwards
}

@keyframes fade-in {
    0% {
        opacity: 0;
        transform: translateY(2em)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.anim-fade-in.anim-delay-0 {
    animation-delay: 0s
}

.anim-fade-in.anim-delay-100 {
    animation-delay: .1s
}

.anim-fade-in.anim-delay-200 {
    animation-delay: .2s
}

.wedding .headline {
    font-family: Playball,serif
}

.wedding .arrow-scroll {
    animation: scroll-arrow-anim 1.5s infinite
}

@keyframes scroll-arrow-anim {
    0% {
        transform: translate(0)
    }

    20% {
        transform: translateY(8px)
    }

    40% {
        transform: translate(0)
    }
}

@keyframes skeleton {
    0% {
        background-position: 150%
    }

    to {
        background-position: -50%
    }
}

@keyframes progress {
    50% {
        background-position-x: -115%
    }
}

@keyframes radio {
    0% {
        padding: 5px
    }

    50% {
        padding: 3px
    }
}

@keyframes dropdown {
    0% {
        opacity: 0
    }
}

@keyframes rating {
    0%,40% {
        filter: brightness(1.05)contrast(1.05);
        scale: 1.1
    }
}

@keyframes toast {
    0% {
        opacity: 0;
        scale: .9
    }

    to {
        opacity: 1;
        scale: 1
    }
}

@property --tw-translate-x {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-translate-y {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-translate-z {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-rotate-x {
    syntax: "*";
    inherits: false;
    initial-value: rotateX(0)
}

@property --tw-rotate-y {
    syntax: "*";
    inherits: false;
    initial-value: rotateY(0)
}

@property --tw-rotate-z {
    syntax: "*";
    inherits: false;
    initial-value: rotateZ(0)
}

@property --tw-skew-x {
    syntax: "*";
    inherits: false;
    initial-value: skewX(0)
}

@property --tw-skew-y {
    syntax: "*";
    inherits: false;
    initial-value: skewY(0)
}

@property --tw-border-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}

@property --tw-font-weight {
    syntax: "*";
    inherits: false
}

@property --tw-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-inset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-inset-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-ring-color {
    syntax: "*";
    inherits: false
}

@property --tw-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-inset-ring-color {
    syntax: "*";
    inherits: false
}

@property --tw-inset-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-ring-inset {
    syntax: "*";
    inherits: false
}

@property --tw-ring-offset-width {
    syntax: "<length>";
    inherits: false;
    initial-value: 0
}

@property --tw-ring-offset-color {
    syntax: "*";
    inherits: false;
    initial-value: #fff
}

@property --tw-ring-offset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-outline-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}

@property --tw-blur {
    syntax: "*";
    inherits: false
}

@property --tw-brightness {
    syntax: "*";
    inherits: false
}

@property --tw-contrast {
    syntax: "*";
    inherits: false
}

@property --tw-grayscale {
    syntax: "*";
    inherits: false
}

@property --tw-hue-rotate {
    syntax: "*";
    inherits: false
}

@property --tw-invert {
    syntax: "*";
    inherits: false
}

@property --tw-opacity {
    syntax: "*";
    inherits: false
}

@property --tw-saturate {
    syntax: "*";
    inherits: false
}

@property --tw-sepia {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow {
    syntax: "*";
    inherits: false
}

@property --tw-ease {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-blur {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-brightness {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-contrast {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-grayscale {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-hue-rotate {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-invert {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-opacity {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-saturate {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-sepia {
    syntax: "*";
    inherits: false
}

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

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