﻿
@tailwind base;
@tailwind components;
@tailwind utilities;

*, ::before, ::after {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:;
    --tw-pan-y:;
    --tw-pinch-zoom:;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:;
    --tw-gradient-via-position:;
    --tw-gradient-to-position:;
    --tw-ordinal:;
    --tw-slashed-zero:;
    --tw-numeric-figure:;
    --tw-numeric-spacing:;
    --tw-numeric-fraction:;
    --tw-ring-inset:;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:;
    --tw-brightness:;
    --tw-contrast:;
    --tw-grayscale:;
    --tw-hue-rotate:;
    --tw-invert:;
    --tw-saturate:;
    --tw-sepia:;
    --tw-drop-shadow:;
    --tw-backdrop-blur:;
    --tw-backdrop-brightness:;
    --tw-backdrop-contrast:;
    --tw-backdrop-grayscale:;
    --tw-backdrop-hue-rotate:;
    --tw-backdrop-invert:;
    --tw-backdrop-opacity:;
    --tw-backdrop-saturate:;
    --tw-backdrop-sepia:;
    --tw-contain-size:;
    --tw-contain-layout:;
    --tw-contain-paint:;
    --tw-contain-style:
}

::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:;
    --tw-pan-y:;
    --tw-pinch-zoom:;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:;
    --tw-gradient-via-position:;
    --tw-gradient-to-position:;
    --tw-ordinal:;
    --tw-slashed-zero:;
    --tw-numeric-figure:;
    --tw-numeric-spacing:;
    --tw-numeric-fraction:;
    --tw-ring-inset:;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:;
    --tw-brightness:;
    --tw-contrast:;
    --tw-grayscale:;
    --tw-hue-rotate:;
    --tw-invert:;
    --tw-saturate:;
    --tw-sepia:;
    --tw-drop-shadow:;
    --tw-backdrop-blur:;
    --tw-backdrop-brightness:;
    --tw-backdrop-contrast:;
    --tw-backdrop-grayscale:;
    --tw-backdrop-hue-rotate:;
    --tw-backdrop-invert:;
    --tw-backdrop-opacity:;
    --tw-backdrop-saturate:;
    --tw-backdrop-sepia:;
    --tw-contain-size:;
    --tw-contain-layout:;
    --tw-contain-paint:;
    --tw-contain-style:
}
/* ! tailwindcss v3.4.16 | MIT License | https://tailwindcss.com */

*, ::after, ::before {
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
    border-color: #e5e7eb
}

::after, ::before {
    --tw-content: ''
}

:host, html {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    tab-size: 4;
    font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-feature-settings: normal;
    font-variation-settings: normal;
    -webkit-tap-highlight-color: transparent
}

body {
    margin: 0;
    line-height: inherit
}

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;
    text-decoration: inherit
}

b, strong {
    font-weight: bolder
}

code, kbd, pre, samp {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-feature-settings: normal;
    font-variation-settings: normal;
    font-size: 1em
}

small {
    font-size: 80%
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse
}

button, input, optgroup, select, textarea {
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
    margin: 0;
    padding: 0
}

button, select {
    text-transform: none
}

button, input:where([type=button]), input:where([type=reset]), input:where([type=submit]) {
    -webkit-appearance: button;
    background-color: transparent;
    background-image: none
}

:-moz-focusring {
    outline: auto
}

:-moz-ui-invalid {
    box-shadow: none
}

progress {
    vertical-align: baseline
}

::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

summary {
    display: list-item
}

blockquote, dd, dl, figure, h1, h2, h3, h4, h5, h6, hr, p, pre {
    margin: 0
}

fieldset {
    margin: 0;
    padding: 0
}

legend {
    padding: 0
}

menu, ol, ul {
    list-style: none;
    margin: 0;
    padding: 0
}

dialog {
    padding: 0
}

textarea {
    resize: vertical
}

    input::placeholder, textarea::placeholder {
        opacity: 1;
        color: #9ca3af
    }

[role=button], button {
    cursor: pointer
}

:disabled {
    cursor: default
}

audio, canvas, embed, iframe, img, object, svg, video {
    display: block;
    vertical-align: middle
}

img, video {
    max-width: 100%;
    height: auto
}

[hidden]:where(:not([hidden=until-found])) {
    display: none
}

.pointer-events-none {
    pointer-events: none
}

.absolute {
    position: absolute
}

.relative {
    position: relative
}

.inset-y-0 {
    top: 0px;
    bottom: 0px
}

.left-0 {
    left: 0px
}

.mb-1 {
    margin-bottom: 0.25rem
}

.mb-4 {
    margin-bottom: 1rem
}

.mb-8 {
    margin-bottom: 2rem
}

.ml-2 {
    margin-left: 0.5rem
}

.mt-1 {
    margin-top: 0.25rem
}

.mt-2 {
    margin-top: 0.5rem
}

.mt-6 {
    margin-top: 1.5rem
}

.mt-8 {
    margin-top: 2rem
}

.block {
    display: block
}

.flex {
    display: flex
}

.inline-flex {
    display: inline-flex
}

.h-16 {
    height: 4rem
}

.h-4 {
    height: 1rem
}

.min-h-screen {
    min-height: 100vh
}

.w-16 {
    width: 4rem
}

.w-4 {
    width: 1rem
}

.w-full {
    width: 100%
}

.max-w-md {
    max-width: 29rem
}

.items-center {
    align-items: center
}

.justify-center {
    justify-content: center
}

.justify-between {
    justify-content: space-between
}

.space-y-4 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse))
}

.rounded {
    border-radius: 0.25rem
}

.rounded-2xl {
    border-radius: 1rem
}

.rounded-full {
    border-radius: 9999px
}

.rounded-lg {
    border-radius: 0.5rem
}

.border {
    border-width: 1px
}

.border-t {
    border-top-width: 1px
}

.border-gray-100 {
    --tw-border-opacity: 1;
    border-color: rgb(243 244 246 / var(--tw-border-opacity, 1))
}

.border-gray-200 {
    --tw-border-opacity: 1;
    border-color: rgb(229 231 235 / var(--tw-border-opacity, 1))
}

.border-gray-300 {
    --tw-border-opacity: 1;
    border-color: rgb(209 213 219 / var(--tw-border-opacity, 1))
}

.bg-blue-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1))
}

.bg-gray-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1))
}

.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1))
}

.p-4 {
    padding: 1rem
}

.p-8 {
    padding: 2rem
}

.px-4 {
    padding-left: 1rem;
    padding-right: 1rem
}

.py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem
}

.pl-10 {
    padding-left: 2.5rem
}

.pl-3 {
    padding-left: 0.75rem
}

.pr-3 {
    padding-right: 0.75rem
}

.pt-6 {
    padding-top: 1.5rem
}

.text-center {
    text-align: center
}

.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem
}

.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem
}

.text-xs {
    font-size: 0.75rem;
    line-height: 1rem
}

.font-bold {
    font-weight: 700
}

.font-medium {
    font-weight: 500
}

.text-blue-600 {
    --tw-text-opacity: 1;
    color: rgb(37 99 235 / var(--tw-text-opacity, 1))
}

.text-gray-400 {
    --tw-text-opacity: 1;
    color: rgb(156 163 175 / var(--tw-text-opacity, 1))
}

.text-gray-500 {
    --tw-text-opacity: 1;
    color: rgb(107 114 128 / var(--tw-text-opacity, 1))
}

.text-gray-600 {
    --tw-text-opacity: 1;
    color: rgb(75 85 99 / var(--tw-text-opacity, 1))
}

.text-gray-700 {
    --tw-text-opacity: 1;
    color: rgb(55 65 81 / var(--tw-text-opacity, 1))
}

.text-gray-900 {
    --tw-text-opacity: 1;
    color: rgb(17 24 39 / var(--tw-text-opacity, 1))
}

.text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.shadow-xl {
    --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.transition-colors {
    transition-property: color, background-color, border-color, fill, stroke, -webkit-text-decoration-color;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}

:root {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
    line-height: 1.5;
    font-weight: 400;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
/* 自定义滚动条 */

::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px;
}

    ::-webkit-scrollbar-thumb:hover {
        background: #555;
    }

.dark ::-webkit-scrollbar-track {
    background: #1f2937;
}

.dark ::-webkit-scrollbar-thumb {
    background: #4b5563;
}

    .dark ::-webkit-scrollbar-thumb:hover {
        background: #6b7280;
    }
/* 隐藏横向滚动条但保留滚动功能 */

.hide-scrollbar::-webkit-scrollbar {
    display: none;
    height: 0;
    width: 0;
}

.hide-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
/* 确保在移动端侧边栏覆盖层能够正确显示 */ @media (max-width: 1023px) { /* 防止内容在侧边栏打开时被滚动
					*/
    body .sidebar-open {
        overflow: hidden;
    }
    /* 确保移动端内容不会被侧边栏覆盖时还能点击 */

    .mobile-content-wrapper {
        position: relative;
    }
        /* 确保底部信息栏在移动端能够正确显示 */

        .mobile-content-wrapper.pb-16 {
            padding-bottom: 4rem;
        }
}

.hover\:bg-blue-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1))
}

.hover\:text-blue-800:hover {
    --tw-text-opacity: 1;
    color: rgb(30 64 175 / var(--tw-text-opacity, 1))
}

.hover\:underline:hover {
    -webkit-text-decoration-line: underline;
    text-decoration-line: underline
}

.focus\:border-blue-500:focus {
    --tw-border-opacity: 1;
    border-color: rgb(59 130 246 / var(--tw-border-opacity, 1))
}

.focus\:outline-none:focus {
    outline: 2px solid transparent;
    outline-offset: 2px
}

.focus\:ring-2:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}

.focus\:ring-blue-500:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))
}

.focus\:ring-offset-2:focus {
    --tw-ring-offset-width: 2px
}

.dark\:border-gray-600:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(75 85 99 / var(--tw-border-opacity, 1))
}

.dark\:border-gray-700:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(55 65 81 / var(--tw-border-opacity, 1))
}

.dark\:bg-gray-700:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1))
}

.dark\:bg-gray-800:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1))
}

.dark\:bg-gray-900:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1))
}

.dark\:text-blue-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(96 165 250 / var(--tw-text-opacity, 1))
}

.dark\:text-gray-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1))
}

.dark\:text-gray-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(156 163 175 / var(--tw-text-opacity, 1))
}

.dark\:text-white:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-blue-300:hover:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(147 197 253 / var(--tw-text-opacity, 1))
}

.dark\:focus\:ring-offset-gray-800:focus:is(.dark *) {
    --tw-ring-offset-color: #1f2937
}

[data-sonner-toaster][dir=ltr], html[dir=ltr] {
    --toast-icon-margin-start: -3px;
    --toast-icon-margin-end: 4px;
    --toast-svg-margin-start: -1px;
    --toast-svg-margin-end: 0px;
    --toast-button-margin-start: auto;
    --toast-button-margin-end: 0;
    --toast-close-button-start: 0;
    --toast-close-button-end: unset;
    --toast-close-button-transform: translate(-35%, -35%)
}

[data-sonner-toaster][dir=rtl], html[dir=rtl] {
    --toast-icon-margin-start: 4px;
    --toast-icon-margin-end: -3px;
    --toast-svg-margin-start: 0px;
    --toast-svg-margin-end: -1px;
    --toast-button-margin-start: 0;
    --toast-button-margin-end: auto;
    --toast-close-button-start: unset;
    --toast-close-button-end: 0;
    --toast-close-button-transform: translate(35%, -35%)
}

[data-sonner-toaster] {
    position: fixed;
    width: var(--width);
    font-family: ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;
    --gray1: hsl(0, 0%, 99%);
    --gray2: hsl(0, 0%, 97.3%);
    --gray3: hsl(0, 0%, 95.1%);
    --gray4: hsl(0, 0%, 93%);
    --gray5: hsl(0, 0%, 90.9%);
    --gray6: hsl(0, 0%, 88.7%);
    --gray7: hsl(0, 0%, 85.8%);
    --gray8: hsl(0, 0%, 78%);
    --gray9: hsl(0, 0%, 56.1%);
    --gray10: hsl(0, 0%, 52.3%);
    --gray11: hsl(0, 0%, 43.5%);
    --gray12: hsl(0, 0%, 9%);
    --border-radius: 8px;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    list-style: none;
    outline: 0;
    z-index: 999999999;
    transition: transform .4s ease
}

@media (hover:none) and (pointer:coarse) {
    [data-sonner-toaster][data-lifted=true] {
        transform: none
    }
}

[data-sonner-toaster][data-x-position=right] {
    right: var(--offset-right)
}

[data-sonner-toaster][data-x-position=left] {
    left: var(--offset-left)
}

[data-sonner-toaster][data-x-position=center] {
    left: 50%;
    transform: translateX(-50%)
}

[data-sonner-toaster][data-y-position=top] {
    top: var(--offset-top)
}

[data-sonner-toaster][data-y-position=bottom] {
    bottom: var(--offset-bottom)
}

[data-sonner-toast] {
    --y: translateY(100%);
    --lift-amount: calc(var(--lift) * var(--gap));
    z-index: var(--z-index);
    position: absolute;
    opacity: 0;
    transform: var(--y);
    touch-action: none;
    transition: transform .4s,opacity .4s,height .4s,box-shadow .2s;
    box-sizing: border-box;
    outline: 0;
    overflow-wrap: anywhere
}

    [data-sonner-toast][data-styled=true] {
        padding: 16px;
        background: var(--normal-bg);
        border: 1px solid var(--normal-border);
        color: var(--normal-text);
        border-radius: var(--border-radius);
        box-shadow: 0 4px 12px rgba(0,0,0,.1);
        width: var(--width);
        font-size: 13px;
        display: flex;
        align-items: center;
        gap: 6px
    }

    [data-sonner-toast]:focus-visible {
        box-shadow: 0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)
    }

    [data-sonner-toast][data-y-position=top] {
        top: 0;
        --y: translateY(-100%);
        --lift: 1;
        --lift-amount: calc(1 * var(--gap))
    }

    [data-sonner-toast][data-y-position=bottom] {
        bottom: 0;
        --y: translateY(100%);
        --lift: -1;
        --lift-amount: calc(var(--lift) * var(--gap))
    }

    [data-sonner-toast][data-styled=true] [data-description] {
        font-weight: 400;
        line-height: 1.4;
        color: #3f3f3f
    }

[data-rich-colors=true][data-sonner-toast][data-styled=true]
[data-description] {
    color: inherit
}

[data-sonner-toaster][data-sonner-theme=dark]
[data-description] {
    color: #e8e8e8
}

[data-sonner-toast][data-styled=true]
[data-title] {
    font-weight: 500;
    line-height: 1.5;
    color: inherit
}

[data-sonner-toast][data-styled=true]
[data-icon] {
    display: flex;
    height: 16px;
    width: 16px;
    position: relative;
    justify-content: flex-start;
    align-items: center;
    flex-shrink: 0;
    margin-left: var(--toast-icon-margin-start);
    margin-right: var(--toast-icon-margin-end)
}

[data-sonner-toast][data-promise=true]
[data-icon] > svg {
    opacity: 0;
    transform: scale(.8);
    transform-origin: center;
    animation: sonner-fade-in .3s ease forwards
}

[data-sonner-toast][data-styled=true] [data-icon] > * {
    flex-shrink: 0
}

[data-sonner-toast][data-styled=true]
[data-icon] svg {
    margin-left: var(--toast-svg-margin-start);
    margin-right: var(--toast-svg-margin-end)
}

[data-sonner-toast][data-styled=true]
[data-content] {
    display: flex;
    flex-direction: column;
    gap: 2px
}

[data-sonner-toast][data-styled=true]
[data-button] {
    border-radius: 4px;
    padding-left: 8px;
    padding-right: 8px;
    height: 24px;
    font-size: 12px;
    color: var(--normal-bg);
    background: var(--normal-text);
    margin-left: var(--toast-button-margin-start);
    margin-right: var(--toast-button-margin-end);
    border: none;
    font-weight: 500;
    cursor: pointer;
    outline: 0;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    transition: opacity .4s,box-shadow .2s
}

    [data-sonner-toast][data-styled=true] [data-button]:focus-visible {
        box-shadow: 0 0 0 2px rgba(0,0,0,.4)
    }

    [data-sonner-toast][data-styled=true] [data-button]:first-of-type {
        margin-left: var(--toast-button-margin-start);
        margin-right: var(--toast-button-margin-end)
    }

[data-sonner-toast][data-styled=true]
[data-cancel] {
    color: var(--normal-text);
    background: rgba(0,0,0,.08)
}

[data-sonner-toaster][data-sonner-theme=dark]
[data-sonner-toast][data-styled=true] [data-cancel] {
    background: rgba(255,255,255,.3)
}

[data-sonner-toast][data-styled=true]
[data-close-button] {
    position: absolute;
    left: var(--toast-close-button-start);
    right: var(--toast-close-button-end);
    top: 0;
    height: 20px;
    width: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    color: var(--gray12);
    background: var(--normal-bg);
    border: 1px solid var(--gray4);
    transform: var(--toast-close-button-transform);
    border-radius: 50%;
    cursor: pointer;
    z-index: 1;
    transition: opacity .1s,background .2s,border-color .2s
}

    [data-sonner-toast][data-styled=true]
    [data-close-button]:focus-visible {
        box-shadow: 0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)
    }

[data-sonner-toast][data-styled=true] [data-disabled=true] {
    cursor: not-allowed
}

[data-sonner-toast][data-styled=true]:hover
[data-close-button]:hover {
    background: var(--gray2);
    border-color: var(--gray5)
}

[data-sonner-toast][data-swiping=true]::before {
    content: '';
    position: absolute;
    left: -100%;
    right: -100%;
    height: 100%;
    z-index: -1
}

[data-sonner-toast][data-y-position=top][data-swiping=true]::before {
    bottom: 50%;
    transform: scaleY(3) translateY(50%)
}

[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before {
    top: 50%;
    transform: scaleY(3) translateY(-50%)
}

[data-sonner-toast][data-swiping=false][data-removed=true]::before {
    content: '';
    position: absolute;
    inset: 0;
    transform: scaleY(2)
}

[data-sonner-toast][data-expanded=true]::after {
    content: '';
    position: absolute;
    left: 0;
    height: calc(var(--gap) + 1px);
    bottom: 100%;
    width: 100%
}

[data-sonner-toast][data-mounted=true] {
    --y: translateY(0);
    opacity: 1
}

[data-sonner-toast][data-expanded=false][data-front=false] {
    --scale: var(--toasts-before) * 0.05 + 1;
    --y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));
    height: var(--front-toast-height)
}

[data-sonner-toast] > * {
    transition: opacity .4s
}

[data-sonner-toast][data-x-position=right] {
    right: 0
}

[data-sonner-toast][data-x-position=left] {
    left: 0
}

[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true] > * {
    opacity: 0
}

[data-sonner-toast][data-visible=false] {
    opacity: 0;
    pointer-events: none
}

[data-sonner-toast][data-mounted=true][data-expanded=true] {
    --y: translateY(calc(var(--lift) * var(--offset)));
    height: var(--initial-height)
}

[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false] {
    --y: translateY(calc(var(--lift) * -100%));
    opacity: 0
}

[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true] {
    --y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));
    opacity: 0
}

[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false] {
    --y: translateY(40%);
    opacity: 0;
    transition: transform .5s,opacity .2s
}

[data-sonner-toast][data-removed=true][data-front=false]::before {
    height: calc(var(--initial-height) + 20%)
}

[data-sonner-toast][data-swiping=true] {
    transform: var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));
    transition: none
}

[data-sonner-toast][data-swiped=true] {
    user-select: none
}

[data-sonner-toast][data-swipe-out=true][data-y-position=bottom], [data-sonner-toast][data-swipe-out=true][data-y-position=top] {
    animation-duration: .2s;
    animation-timing-function: ease-out;
    animation-fill-mode: forwards
}

[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left] {
    animation-name: swipe-out-left
}

[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right] {
    animation-name: swipe-out-right
}

[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up] {
    animation-name: swipe-out-up
}

[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down] {
    animation-name: swipe-out-down
}

@keyframes swipe-out-left {
    from {
        transform: var(--y) translateX(var(--swipe-amount-x));
        opacity: 1
    }

    to {
        transform: var(--y) translateX(calc(var(--swipe-amount-x) - 100%));
        opacity: 0
    }
}

@keyframes swipe-out-right {
    from {
        transform: var(--y) translateX(var(--swipe-amount-x));
        opacity: 1
    }

    to {
        transform: var(--y) translateX(calc(var(--swipe-amount-x) + 100%));
        opacity: 0
    }
}

@keyframes swipe-out-up {
    from {
        transform: var(--y) translateY(var(--swipe-amount-y));
        opacity: 1
    }

    to {
        transform: var(--y) translateY(calc(var(--swipe-amount-y) - 100%));
        opacity: 0
    }
}

@keyframes swipe-out-down {
    from {
        transform: var(--y) translateY(var(--swipe-amount-y));
        opacity: 1
    }

    to {
        transform: var(--y) translateY(calc(var(--swipe-amount-y) + 100%));
        opacity: 0
    }
}

@media (max-width:600px) {
    [data-sonner-toaster] {
        position: fixed;
        right: var(--mobile-offset-right);
        left: var(--mobile-offset-left);
        width: 100%
    }

        [data-sonner-toaster][dir=rtl] {
            left: calc(var(--mobile-offset-left) * -1)
        }

        [data-sonner-toaster] [data-sonner-toast] {
            left: 0;
            right: 0;
            width: calc(100% - var(--mobile-offset-left) * 2)
        }

        [data-sonner-toaster][data-x-position=left] {
            left: var(--mobile-offset-left)
        }

        [data-sonner-toaster][data-y-position=bottom] {
            bottom: var(--mobile-offset-bottom)
        }

        [data-sonner-toaster][data-y-position=top] {
            top: var(--mobile-offset-top)
        }

        [data-sonner-toaster][data-x-position=center] {
            left: var(--mobile-offset-left);
            right: var(--mobile-offset-right);
            transform: none
        }
}

[data-sonner-toaster][data-sonner-theme=light] {
    --normal-bg: #fff;
    --normal-border: var(--gray4);
    --normal-text: var(--gray12);
    --success-bg: hsl(143, 85%, 96%);
    --success-border: hsl(145, 92%, 87%);
    --success-text: hsl(140, 100%, 27%);
    --info-bg: hsl(208, 100%, 97%);
    --info-border: hsl(221, 91%, 93%);
    --info-text: hsl(210, 92%, 45%);
    --warning-bg: hsl(49, 100%, 97%);
    --warning-border: hsl(49, 91%, 84%);
    --warning-text: hsl(31, 92%, 45%);
    --error-bg: hsl(359, 100%, 97%);
    --error-border: hsl(359, 100%, 94%);
    --error-text: hsl(360, 100%, 45%)
}

    [data-sonner-toaster][data-sonner-theme=light]
    [data-sonner-toast][data-invert=true] {
        --normal-bg: #000;
        --normal-border: hsl(0, 0%, 20%);
        --normal-text: var(--gray1)
    }

[data-sonner-toaster][data-sonner-theme=dark]
[data-sonner-toast][data-invert=true] {
    --normal-bg: #fff;
    --normal-border: var(--gray3);
    --normal-text: var(--gray12)
}

[data-sonner-toaster][data-sonner-theme=dark] {
    --normal-bg: #000;
    --normal-bg-hover: hsl(0, 0%, 12%);
    --normal-border: hsl(0, 0%, 20%);
    --normal-border-hover: hsl(0, 0%, 25%);
    --normal-text: var(--gray1);
    --success-bg: hsl(150, 100%, 6%);
    --success-border: hsl(147, 100%, 12%);
    --success-text: hsl(150, 86%, 65%);
    --info-bg: hsl(215, 100%, 6%);
    --info-border: hsl(223, 43%, 17%);
    --info-text: hsl(216, 87%, 65%);
    --warning-bg: hsl(64, 100%, 6%);
    --warning-border: hsl(60, 100%, 9%);
    --warning-text: hsl(46, 87%, 65%);
    --error-bg: hsl(358, 76%, 10%);
    --error-border: hsl(357, 89%, 16%);
    --error-text: hsl(358, 100%, 81%)
}

    [data-sonner-toaster][data-sonner-theme=dark]
    [data-sonner-toast] [data-close-button] {
        background: var(--normal-bg);
        border-color: var(--normal-border);
        color: var(--normal-text)
    }

        [data-sonner-toaster][data-sonner-theme=dark]
        [data-sonner-toast] [data-close-button]:hover {
            background: var(--normal-bg-hover);
            border-color: var(--normal-border-hover)
        }

[data-rich-colors=true][data-sonner-toast][data-type=success] {
    background: var(--success-bg);
    border-color: var(--success-border);
    color: var(--success-text)
}

    [data-rich-colors=true][data-sonner-toast][data-type=success]
    [data-close-button] {
        background: var(--success-bg);
        border-color: var(--success-border);
        color: var(--success-text)
    }

[data-rich-colors=true][data-sonner-toast][data-type=info] {
    background: var(--info-bg);
    border-color: var(--info-border);
    color: var(--info-text)
}

    [data-rich-colors=true][data-sonner-toast][data-type=info]
    [data-close-button] {
        background: var(--info-bg);
        border-color: var(--info-border);
        color: var(--info-text)
    }

[data-rich-colors=true][data-sonner-toast][data-type=warning] {
    background: var(--warning-bg);
    border-color: var(--warning-border);
    color: var(--warning-text)
}

    [data-rich-colors=true][data-sonner-toast][data-type=warning]
    [data-close-button] {
        background: var(--warning-bg);
        border-color: var(--warning-border);
        color: var(--warning-text)
    }

[data-rich-colors=true][data-sonner-toast][data-type=error] {
    background: var(--error-bg);
    border-color: var(--error-border);
    color: var(--error-text)
}

    [data-rich-colors=true][data-sonner-toast][data-type=error]
    [data-close-button] {
        background: var(--error-bg);
        border-color: var(--error-border);
        color: var(--error-text)
    }

.sonner-loading-wrapper {
    --size: 16px;
    height: var(--size);
    width: var(--size);
    position: absolute;
    inset: 0;
    z-index: 10
}

    .sonner-loading-wrapper[data-visible=false] {
        transform-origin: center;
        animation: sonner-fade-out .2s ease forwards
    }

.sonner-spinner {
    position: relative;
    top: 50%;
    left: 50%;
    height: var(--size);
    width: var(--size)
}

.sonner-loading-bar {
    animation: sonner-spin 1.2s linear infinite;
    background: var(--gray11);
    border-radius: 6px;
    height: 8%;
    left: -10%;
    position: absolute;
    top: -3.9%;
    width: 24%
}

    .sonner-loading-bar:first-child {
        animation-delay: -1.2s;
        transform: rotate(.0001deg) translate(146%)
    }

    .sonner-loading-bar:nth-child(2) {
        animation-delay: -1.1s;
        transform: rotate(30deg) translate(146%)
    }

    .sonner-loading-bar:nth-child(3) {
        animation-delay: -1s;
        transform: rotate(60deg) translate(146%)
    }

    .sonner-loading-bar:nth-child(4) {
        animation-delay: -.9s;
        transform: rotate(90deg) translate(146%)
    }

    .sonner-loading-bar:nth-child(5) {
        animation-delay: -.8s;
        transform: rotate(120deg) translate(146%)
    }

    .sonner-loading-bar:nth-child(6) {
        animation-delay: -.7s;
        transform: rotate(150deg) translate(146%)
    }

    .sonner-loading-bar:nth-child(7) {
        animation-delay: -.6s;
        transform: rotate(180deg) translate(146%)
    }

    .sonner-loading-bar:nth-child(8) {
        animation-delay: -.5s;
        transform: rotate(210deg) translate(146%)
    }

    .sonner-loading-bar:nth-child(9) {
        animation-delay: -.4s;
        transform: rotate(240deg) translate(146%)
    }

    .sonner-loading-bar:nth-child(10) {
        animation-delay: -.3s;
        transform: rotate(270deg) translate(146%)
    }

    .sonner-loading-bar:nth-child(11) {
        animation-delay: -.2s;
        transform: rotate(300deg) translate(146%)
    }

    .sonner-loading-bar:nth-child(12) {
        animation-delay: -.1s;
        transform: rotate(330deg) translate(146%)
    }

@keyframes sonner-fade-in {
    0% {
        opacity: 0;
        transform: scale(.8)
    }

    100% {
        opacity: 1;
        transform: scale(1)
    }
}

@keyframes sonner-fade-out {
    0% {
        opacity: 1;
        transform: scale(1)
    }

    100% {
        opacity: 0;
        transform: scale(.8)
    }
}

@keyframes sonner-spin {
    0% {
        opacity: 1
    }

    100% {
        opacity: .15
    }
}

@media (prefers-reduced-motion) {
    .sonner-loading-bar, [data-sonner-toast], [data-sonner-toast] > * {
        transition: none !important;
        animation: none !important
    }
}

.sonner-loader {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    transform-origin: center;
    transition: opacity .2s,transform .2s
}

    .sonner-loader[data-visible=false] {
        opacity: 0;
        transform: scale(.8) translate(-50%,-50%)
    }


@tailwind base;
@tailwind components;
@tailwind utilities;

:root {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
    line-height: 1.5;
    font-weight: 400;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
/* 自定义滚动条 */

::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px;
}

    ::-webkit-scrollbar-thumb:hover {
        background: #555;
    }

.dark ::-webkit-scrollbar-track {
    background: #1f2937;
}

.dark ::-webkit-scrollbar-thumb {
    background: #4b5563;
}

    .dark ::-webkit-scrollbar-thumb:hover {
        background: #6b7280;
    }
/* 隐藏横向滚动条但保留滚动功能 */

.hide-scrollbar::-webkit-scrollbar {
    display: none;
    height: 0;
    width: 0;
}

.hide-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
/* 确保在移动端侧边栏覆盖层能够正确显示 */ @media (max-width: 1023px) { /* 防止内容在侧边栏打开时被滚动 */
    body .sidebar-open {
        overflow: hidden;
    }
    /* 确保移动端内容不会被侧边栏覆盖时还能点击 */ .mobile-content-wrapper {
        position: relative;
    }
        /* 确保底部信息栏在移动端能够正确显示 */

        .mobile-content-wrapper.pb-16 {
            padding-bottom: 4rem;
        }
}
