/* Import existing custom styles - must come before @tailwind directives */
/* static/css/style.css */
/* === 1. 全局工具与基础设置 === */
[v-cloak] {
    display: none !important;
}
.z-30 {
    z-index: 30;
}
.z-20 {
    z-index: 20;
}
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: 'Segoe UI', system-ui, sans-serif;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.015em;
}
/* === 2. 滚动条美化 === */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}
/* 自定义滚动条容器 */
.custom-scrollbar {
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 transparent;
}
.custom-scrollbar::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
.custom-scrollbar::-webkit-scrollbar-track {
    background: transparent;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}
.dark .custom-scrollbar {
    scrollbar-color: #4b5563 transparent;
}
.dark .custom-scrollbar::-webkit-scrollbar-thumb {
    background: #4b5563;
}
.dark .custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background: #6b7280;
}
/* === 3. 动画关键帧 === */
.animate-fade-in-up {
    animation: fadeInUp 0.5s ease-out;
}
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@keyframes zoomIn {
    from {
        transform: scale(0.95);
        opacity: 0;
    }

    to {
        transform: scale(1);
        opacity: 1;
    }
}
/* === 4. UI 组件样式 (模态框、背景、输入预览) === */
.settings-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
    backdrop-filter: blur(4px);
}
.settings-modal {
    background: white;
    width: 90%;
    max-width: 480px;
    max-height: 90vh;
    border-radius: 16px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    animation: zoomIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.bg-grid-pattern {
    background-color: transparent;
    background-image: radial-gradient(#e5e7eb 1px, transparent 1px);
    background-size: 24px 24px;
}
.dark .bg-grid-pattern {
    background-image: radial-gradient(#374151 1px, transparent 1px);
}
.input-preview-item {
    position: relative;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    overflow: hidden;
    background: #f9fafb;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 3rem;
    min-width: 3rem;
}
.dark .input-preview-item {
    border-color: #4b5563;
    background: #374151;
}
/* 基础 textarea 样式 - 不限制最大高度，让各页面自行控制 */
textarea {
    min-height: 24px;
}
/* === 5. 聊天气泡特定内容 (媒体、DeepThink) === */
.chat-image-preview {
    max-width: 100%;
    max-height: 300px;
    border-radius: 8px;
    margin: 4px 0;
    border: 1px solid rgba(0, 0, 0, 0.1);
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
}
/* 用户消息气泡中的图片样式 */
.user-message-bubble {
    max-width: 100%;
    word-break: break-word;
    overflow-wrap: break-word;
}
.user-message-bubble img {
    max-width: 100%;
    max-height: 300px;
    border-radius: 8px;
    margin: 4px 0;
    border: 1px solid rgba(255, 255, 255, 0.2);
    display: block;
}
.user-message-bubble .my-2 {
    margin: 4px 0;
}
.user-message-bubble p {
    margin: 0;
    white-space: pre-wrap;
}
/* 媒体容器 */
.media-container {
    margin: 10px 0;
    border-radius: 8px;
    overflow: hidden;
    background: #000;
}
.media-container video,
.chat-video-player {
    width: 100%;
    max-height: 400px;
    display: block;
}
.chat-audio-player {
    width: 100%;
    min-width: 240px;
    height: 40px;
    margin: 8px 0;
    border-radius: 20px;
    outline: none;
}
/* 深度思考 (Thinking Block) */
details.think-block {
    background-color: rgba(241, 245, 249, 0.5);
    border-left: 3px solid #94a3b8;
    margin: 8px 0;
    border-radius: 4px;
    font-size: 0.9em;
    overflow: hidden;
}
.dark details.think-block {
    background-color: rgba(30, 41, 59, 0.5);
    border-left-color: #475569;
}
details.think-block summary {
    padding: 6px 10px;
    background-color: rgba(0, 0, 0, 0.03);
    cursor: pointer;
    font-weight: 600;
    font-size: 0.85em;
    color: #64748b;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}
.dark details.think-block summary {
    color: #94a3b8;
    background-color: rgba(255, 255, 255, 0.03);
}
details.think-block div.content {
    padding: 10px;
    white-space: pre-wrap;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    color: #475569;
    font-size: 0.9em;
    line-height: 1.5;
}
.dark details.think-block div.content {
    color: #cbd5e1;
}
/* QRCode Block (二维码块) */
.qrcode-wrapper {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    margin: 8px 0;
    padding: 12px;
    background-color: #ffffff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.dark .qrcode-wrapper {
    background-color: #ffffff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.qrcode-container {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 128px;
    min-height: 128px;
}
.qrcode-container img {
    display: block !important;
}
.qrcode-container canvas {
    display: none !important;
}
.qrcode-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #64748b;
    font-size: 0.85em;
}
.qrcode-loading i {
    font-size: 2em;
    color: #94a3b8;
}
.qrcode-warning {
    margin-top: 8px;
    font-size: 0.7em;
    color: #9ca3af;
    text-align: center;
    max-width: 200px;
    line-height: 1.4;
}
.dark .qrcode-warning {
    color: #6b7280;
}
.qrcode-error {
    color: #ef4444;
    font-size: 0.85em;
    padding: 8px;
}
/* Memory Block (记忆块) */
.memory-block {
    background-color: rgba(236, 253, 245, 0.6);
    border-left: 3px solid #10b981;
    margin: 8px 0;
    border-radius: 4px;
    font-size: 0.95em;
    overflow: hidden;
}
.dark .memory-block {
    background-color: rgba(6, 78, 59, 0.3);
    border-left-color: #34d399;
}
.memory-block .memory-header {
    padding: 6px 10px;
    background-color: rgba(16, 185, 129, 0.1);
    font-weight: 600;
    font-size: 0.85em;
    color: #059669;
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    list-style: none;
}
.memory-block .memory-header::-webkit-details-marker {
    display: none;
}
.memory-block .memory-header::after {
    content: '\f078';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 0.75em;
    margin-left: auto;
    transition: transform 0.2s ease;
}
.memory-block[open] .memory-header::after {
    transform: rotate(180deg);
}
.dark .memory-block .memory-header {
    color: #34d399;
    background-color: rgba(52, 211, 153, 0.1);
}
.memory-block .memory-content {
    padding: 10px;
    color: #047857;
    line-height: 1.6;
}
.dark .memory-block .memory-content {
    color: #a7f3d0;
}
/* 确保 Memory 内的表格正常显示 */
.memory-block .memory-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 8px 0;
}
.memory-block .memory-content th,
.memory-block .memory-content td {
    border: 1px solid #d1fae5;
    padding: 8px;
    text-align: left;
}
.dark .memory-block .memory-content th,
.dark .memory-block .memory-content td {
    border-color: #065f46;
}
.memory-block .memory-content th {
    background-color: rgba(16, 185, 129, 0.15);
}
.dark .memory-block .memory-content th {
    background-color: rgba(52, 211, 153, 0.15);
}
/* Status Block (状态块) - 蓝色主题 */
.status-block {
    background-color: rgba(239, 246, 255, 0.6);
    border-left: 3px solid #3b82f6;
    margin: 8px 0;
    border-radius: 4px;
    font-size: 0.95em;
    overflow: hidden;
}
.dark .status-block {
    background-color: rgba(30, 58, 138, 0.3);
    border-left-color: #60a5fa;
}
.status-block .status-header {
    padding: 6px 10px;
    background-color: rgba(59, 130, 246, 0.1);
    font-weight: 600;
    font-size: 0.85em;
    color: #2563eb;
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    list-style: none;
}
.status-block .status-header::-webkit-details-marker {
    display: none;
}
.status-block .status-header::after {
    content: '\f078';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 0.75em;
    margin-left: auto;
    transition: transform 0.2s ease;
}
.status-block[open] .status-header::after {
    transform: rotate(180deg);
}
.dark .status-block .status-header {
    color: #60a5fa;
    background-color: rgba(96, 165, 250, 0.1);
}
.status-block .status-content {
    padding: 10px;
    color: #1d4ed8;
    line-height: 1.6;
}
.dark .status-block .status-content {
    color: #bfdbfe;
}
/* 确保 Status 内的表格正常显示 */
.status-block .status-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 8px 0;
}
.status-block .status-content th,
.status-block .status-content td {
    border: 1px solid #dbeafe;
    padding: 8px;
    text-align: left;
}
.dark .status-block .status-content th,
.dark .status-block .status-content td {
    border-color: #1e3a8a;
}
.status-block .status-content th {
    background-color: rgba(59, 130, 246, 0.15);
}
.dark .status-block .status-content th {
    background-color: rgba(96, 165, 250, 0.15);
}
/* EndChat Block (对话结束块) */
.endchat-block {
    background-color: rgba(254, 242, 242, 0.6);
    border-left: 3px solid #ef4444;
    margin: 8px 0;
    border-radius: 4px;
    font-size: 0.95em;
    overflow: hidden;
}
.dark .endchat-block {
    background-color: rgba(127, 29, 29, 0.3);
    border-left-color: #f87171;
}
.endchat-block .endchat-header {
    padding: 6px 10px;
    background-color: rgba(239, 68, 68, 0.1);
    font-weight: 600;
    font-size: 0.85em;
    color: #dc2626;
    display: flex;
    align-items: center;
    gap: 6px;
}
.dark .endchat-block .endchat-header {
    color: #f87171;
    background-color: rgba(248, 113, 113, 0.1);
}
.endchat-block .endchat-content {
    padding: 10px;
    color: #b91c1c;
    line-height: 1.6;
}
.dark .endchat-block .endchat-content {
    color: #fca5a5;
}
/* Post Card (海报/帖子卡片) */
.post-card {
    background: linear-gradient(135deg, #818cf8 0%, #a78bfa 100%);
    border-radius: 12px;
    padding: 20px;
    margin: 12px 0;
    box-shadow: 0 4px 12px rgba(129, 140, 248, 0.2);
    color: #ffffff;
    position: relative;
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.post-card::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.08) 0%, transparent 70%);
    pointer-events: none;
}
.post-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(129, 140, 248, 0.25);
}
.dark .post-card {
    background: linear-gradient(135deg, #4338ca 0%, #6366f1 100%);
    box-shadow: 0 4px 12px rgba(67, 56, 202, 0.3);
}
.dark .post-card:hover {
    box-shadow: 0 6px 16px rgba(67, 56, 202, 0.4);
}
.post-header {
    margin-bottom: 12px;
    position: relative;
    z-index: 1;
}
.post-title {
    font-size: 1.15em;
    font-weight: 600;
    margin: 0;
    line-height: 1.4;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    letter-spacing: 0.01em;
}
.post-content {
    position: relative;
    z-index: 1;
    margin-bottom: 12px;
}
.post-content p {
    margin: 0;
    line-height: 1.6;
    font-size: 0.95em;
    opacity: 0.92;
    font-weight: 400;
}
.post-footer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    position: relative;
    z-index: 1;
    padding-top: 8px;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.post-date {
    font-size: 0.8em;
    opacity: 0.75;
    font-weight: 400;
}
/* Fold Block (自定义折叠块) - 紫色主题作为默认 */
.fold-block {
    background-color: rgba(243, 232, 255, 0.6);
    border-left: 3px solid #8b5cf6;
    margin: 8px 0;
    border-radius: 4px;
    font-size: 0.95em;
    overflow: hidden;
}
.dark .fold-block {
    background-color: rgba(76, 29, 149, 0.3);
    border-left-color: #a78bfa;
}
/* 自定义颜色的Fold块 - 使用CSS变量 */
.fold-block.fold-custom-color {
    background-color: color-mix(in srgb, var(--fold-color) 10%, transparent);
}
.dark .fold-block.fold-custom-color {
    background-color: color-mix(in srgb, var(--fold-color) 20%, transparent);
}
.fold-block.fold-custom-color .fold-header {
    background-color: color-mix(in srgb, var(--fold-color) 15%, transparent);
}
.dark .fold-block.fold-custom-color .fold-header {
    background-color: color-mix(in srgb, var(--fold-color) 20%, transparent);
}
.fold-block .fold-header {
    padding: 6px 10px;
    background-color: rgba(139, 92, 246, 0.1);
    font-weight: 600;
    font-size: 0.85em;
    color: #7c3aed;
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    list-style: none;
}
.fold-block .fold-header::-webkit-details-marker {
    display: none;
}
.fold-block .fold-header::after {
    content: '\f078';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 0.75em;
    margin-left: auto;
    transition: transform 0.2s ease;
}
.fold-block[open] .fold-header::after {
    transform: rotate(180deg);
}
.dark .fold-block .fold-header {
    color: #a78bfa;
    background-color: rgba(167, 139, 250, 0.1);
}
.fold-block .fold-content {
    padding: 10px;
    color: #5b21b6;
    line-height: 1.6;
}
.dark .fold-block .fold-content {
    color: #ddd6fe;
}
/* 确保 Fold 内的表格正常显示 */
.fold-block .fold-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 8px 0;
}
.fold-block .fold-content th,
.fold-block .fold-content td {
    border: 1px solid #e9d5ff;
    padding: 8px;
    text-align: left;
}
.dark .fold-block .fold-content th,
.dark .fold-block .fold-content td {
    border-color: #4c1d95;
}
.fold-block .fold-content th {
    background-color: rgba(139, 92, 246, 0.15);
}
.dark .fold-block .fold-content th {
    background-color: rgba(167, 139, 250, 0.15);
}
/* === 6. 文件卡片 (DeepSeek 风格) === */
.ds-file-card {
    display: flex;
    align-items: center;
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 10px 14px;
    margin-right: 10px;
    min-width: 200px;
    max-width: 260px;
    position: relative;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    transition: all 0.2s;
}
.dark .ds-file-card {
    background-color: #2c2e33;
    border-color: #373a40;
}
.ds-file-card:hover {
    border-color: #3b82f6;
    box-shadow: 0 4px 6px rgba(59, 130, 246, 0.1);
}
.ds-file-icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background-color: #eff6ff;
    color: #3b82f6;
    font-size: 18px;
    margin-right: 12px;
    flex-shrink: 0;
}
.dark .ds-file-icon {
    background-color: rgba(59, 130, 246, 0.15);
}
.ds-file-info {
    flex: 1;
    overflow: hidden;
}
.ds-file-name {
    font-size: 13px;
    font-weight: 600;
    color: #374151;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4;
}
.dark .ds-file-name {
    color: #e5e7eb;
}
.ds-file-size {
    font-size: 11px;
    color: #9ca3af;
    margin-top: 1px;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}
.ds-file-remove {
    position: absolute;
    top: -6px;
    right: -6px;
    width: 20px;
    height: 20px;
    background: #ef4444;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.2s;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.ds-file-card:hover .ds-file-remove {
    opacity: 1;
}
/* === 7. Markdown 正文排版 === */
.markdown-body {
    font-size: 15px;
    line-height: 1.75;
    color: #374151;
    /* 修复：限制最大宽度并阻止被代码块撑开 */
    max-width: 100%;
    overflow: hidden;
    word-break: break-word;
    overflow-wrap: break-word;
}
.dark .markdown-body {
    color: #d1d5db;
}
/* 标题 */
.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
    font-weight: 700;
    color: #111827;
    margin-top: 1.5em;
    margin-bottom: 0.6em;
    line-height: 1.3;
}
.dark .markdown-body h1,
.dark .markdown-body h2,
.dark .markdown-body h3,
.dark .markdown-body h4 {
    color: #f3f4f6;
}
.markdown-body h1 {
    font-size: 1.6em;
    border-bottom: 1px solid #e5e7eb;
    padding-bottom: 0.3em;
}
.markdown-body h2 {
    font-size: 1.4em;
}
.markdown-body h3 {
    font-size: 1.25em;
}
.markdown-body h4 {
    font-size: 1.1em;
}
/* 基础元素 */
.markdown-body p {
    margin-bottom: 1.2em;
}
.markdown-body p:last-child {
    margin-bottom: 0;
}
.markdown-body hr {
    height: 1px;
    border: none;
    background-color: #e5e7eb;
    margin: 2.5em 0;
}
.dark .markdown-body hr {
    background-color: #374151;
}
.markdown-body ul {
    list-style-type: disc;
    padding-left: 1.5em;
    margin-bottom: 1.2em;
}
.markdown-body ol {
    list-style-type: decimal;
    padding-left: 1.5em;
    margin-bottom: 1.2em;
}
.markdown-body li {
    margin-bottom: 0.4em;
}
/* 链接与引用 */
.markdown-body a {
    color: #2563eb;
    text-decoration: none;
    font-weight: 500;
    word-break: break-all;
}
.markdown-body a:hover {
    text-decoration: underline;
}
.dark .markdown-body a {
    color: #60a5fa;
}
.markdown-body blockquote {
    border-left: 4px solid #3b82f6;
    background-color: #f9fafb;
    padding: 0.5em 1em;
    margin: 1.5em 0;
    color: #555;
    font-style: italic;
    border-radius: 0 4px 4px 0;
}
.dark .markdown-body blockquote {
    background-color: #1f2937;
    border-left-color: #60a5fa;
    color: #9ca3af;
}
.markdown-body img{
    max-width: 100%;
    border-radius: 8px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.markdown-body video {
    max-width: 100%;
    border-radius: 8px;
    margin: 1.2em 0;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.markdown-body audio {
    width: 100%;
    min-width: 200px;
    outline: none;
}
/* 表格 */
.markdown-body table {
    border-collapse: collapse;
    width: 100%;
    margin: 1.2em 0;
    overflow-x: auto;
    display: block;
}
.markdown-body th,
.markdown-body td {
    padding: 8px 12px;
    border: 1px solid #d1d5db;
}
.markdown-body th {
    font-weight: 600;
    background-color: #f3f4f6;
    text-align: left;
}
.markdown-body tr:nth-child(2n) {
    background-color: #f9fafb;
}
.dark .markdown-body th,
.dark .markdown-body td {
    border-color: #374151;
}
.dark .markdown-body th {
    background-color: #1f2937;
    color: #e5e5e5;
}
.dark .markdown-body tr:nth-child(2n) {
    background-color: #1a1b1e;
}
/* === 8. 代码块与高亮 === */
.markdown-body pre {
    background: #f3f4f6;
    padding: 12px 16px;
    border-radius: 8px;
    overflow-x: auto;
    margin: 1.2em 0;
    font-size: 0.9em;
    line-height: 1.5;
    border: 1px solid #e5e7eb;
    text-align: left;
    direction: ltr;
}
.dark .markdown-body pre {
    background: #1e1e1e !important;
    border-color: #333;
    color: #e5e5e5;
}
.markdown-body code {
    background: #f1f5f9;
    color: #ea580c;
    padding: 2px 6px;
    border-radius: 4px;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 0.9em;
}
.dark .markdown-body code {
    background: transparent;
    color: #e5e5e5;
}
/* 代码块容器 - 整体作为滚动容器 */
.code-block-wrapper {
    position: relative;
    margin: 1.2em 0;
    max-width: 100%;
    min-width: 0;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    background: #f3f4f6;
    /* 整个 wrapper 作为横向滚动容器 */
    overflow-x: auto;
    overflow-y: visible;
}
.dark .code-block-wrapper {
    border-color: #333;
    background: #1e1e1e;
}
.code-block-wrapper pre {
    margin: 0 !important;
    padding: 12px 16px !important;
    border: none !important;
    border-radius: 0 !important;
    /* 代码完全展开，不限制高度 */
    white-space: pre; /* 保持代码不换行 */
    overflow: visible !important; /* 让 wrapper 来处理滚动 */
}
/* 代码块头部 - sticky 定位固定在左侧 */
.code-block-header {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 12px;
    background: #e5e7eb;
    border-bottom: 1px solid #d1d5db;
    min-height: 32px;
    /* 关键：使用 min-content 宽度，但不小于容器可视宽度 */
    width: -moz-max-content;
    width: max-content;
    min-width: 100%;
    box-sizing: border-box;
}
.dark .code-block-header {
    background: #2d2d2d;
    border-bottom-color: #404040;
}
/* 代码操作按钮容器 */
.code-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}
.code-lang-label {
    font-size: 11px;
    color: #6b7280;
    font-family: monospace;
    font-weight: bold;
    text-transform: uppercase;
    flex-shrink: 0;
}
.dark .code-lang-label {
    color: #9ca3af;
}
.copy-code-btn,
.run-code-btn {
    padding: 4px 8px;
    font-size: 12px;
    color: #6b7280;
    background-color: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}
.copy-code-btn:hover {
    background-color: white;
    color: #2563eb;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
/* 运行按钮样式 */
.run-code-btn {
    color: #059669;
    background-color: rgba(16, 185, 129, 0.15);
    border-color: rgba(16, 185, 129, 0.3);
}
.run-code-btn:hover {
    background-color: #10b981;
    color: white;
    border-color: #10b981;
    box-shadow: 0 1px 4px rgba(16, 185, 129, 0.3);
}
.dark .copy-code-btn,
.dark .run-code-btn {
    color: #9ca3af;
    background-color: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.1);
}
.dark .copy-code-btn:hover {
    background-color: rgba(255, 255, 255, 0.15);
    color: #60a5fa;
}
.dark .run-code-btn {
    color: #34d399;
    background-color: rgba(16, 185, 129, 0.15);
    border-color: rgba(16, 185, 129, 0.2);
}
.dark .run-code-btn:hover {
    background-color: #10b981;
    color: white;
}
/* Highlight.js 暗黑模式微调 */
html.dark .hljs-keyword,
html.dark .hljs-selector-tag,
html.dark .hljs-literal,
html.dark .hljs-section,
html.dark .hljs-link {
    color: #569cd6 !important;
}
html.dark .hljs-string,
html.dark .hljs-title,
html.dark .hljs-name,
html.dark .hljs-type,
html.dark .hljs-attribute,
html.dark .hljs-symbol,
html.dark .hljs-bullet,
html.dark .hljs-addition,
html.dark .hljs-variable,
html.dark .hljs-template-tag,
html.dark .hljs-template-variable {
    color: #ce9178 !important;
}
html.dark .hljs-comment,
html.dark .hljs-quote,
html.dark .hljs-meta {
    color: #6a9955 !important;
}
/* 瀑布流布局 */
.masonry-columns {
    -moz-column-count: 1;
         column-count: 1;
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
}
@media (min-width: 768px) {
    .masonry-columns {
        -moz-column-count: 2;
             column-count: 2;
    }
}
@media (min-width: 1024px) {
    .masonry-columns {
        -moz-column-count: 3;
             column-count: 3;
    }
}
.break-inside-avoid {
    -moz-column-break-inside: avoid;
         break-inside: avoid-column;
    page-break-inside: avoid;
}
/* === [修复] 移动端代码块溢出问题 === */
@media (max-width: 768px) {
    /* 强制限制 Markdown 内部容器的最大宽度 */
    .markdown-body {
        max-width: 100%;
        overflow: hidden; /* 防止内容撑开 */
    }

    /* 核心修复：强制限制代码块外层容器的宽度 */
    /* calc(100vw - 100px) 是为了减去头像(约40px)、内边距和气泡间隙 */
    .code-block-wrapper {
        max-width: calc(100vw - 100px) !important;
    }

    /* 代码块头部在移动端的样式 */
    .code-block-header {
        padding: 4px 8px;
    }

    .code-actions {
        gap: 4px;
    }

    .copy-code-btn,
    .run-code-btn {
        padding: 3px 6px;
        font-size: 11px;
    }

    /* 修复表格在移动端撑开的问题 */
    .markdown-body table {
        display: block;
        width: 100%;
        overflow-x: auto;
        max-width: calc(100vw - 100px) !important;
    }
}
/* === [新增] 快捷回复按钮样式 === */
.quick-reply-options {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 12px 0;
    padding: 12px;
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.05) 0%, rgba(139, 92, 246, 0.05) 100%);
    border-radius: 12px;
    border: 1px solid rgba(99, 102, 241, 0.15);
}
.dark .quick-reply-options {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.1) 0%, rgba(139, 92, 246, 0.1) 100%);
    border-color: rgba(139, 92, 246, 0.2);
}
.quick-reply-btn {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 500;
    color: #4f46e5;
    background: white;
    border: 1px solid rgba(99, 102, 241, 0.3);
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}
.quick-reply-btn:hover:not(:disabled) {
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    color: white;
    border-color: transparent;
    box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3);
    transform: translateY(-1px);
}
.quick-reply-btn:active:not(:disabled) {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(99, 102, 241, 0.2);
}
/* 禁用状态 */
.quick-reply-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
/* 选中状态 */
.quick-reply-btn.selected {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: white;
    border-color: transparent;
    opacity: 1;
}
/* 暗黑模式 */
.dark .quick-reply-btn {
    color: #a5b4fc;
    background: rgba(30, 27, 75, 0.8);
    border-color: rgba(139, 92, 246, 0.3);
}
.dark .quick-reply-btn:hover:not(:disabled) {
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    color: white;
    border-color: transparent;
}
.dark .quick-reply-btn.selected {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: white;
}
/* 按钮内的 markdown 样式 */
.quick-reply-btn strong {
    font-weight: 700;
}
.quick-reply-btn em {
    font-style: italic;
}
/* 移动端适配 */
@media (max-width: 768px) {
    .quick-reply-options {
        gap: 6px;
        padding: 10px;
    }

    .quick-reply-btn {
        padding: 6px 12px;
        font-size: 13px;
        border-radius: 16px;
    }
}
/* === [新增] 故事线跳转按钮样式 === */
.goto-storyline-options {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 12px 0;
    padding: 12px;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.05) 0%, rgba(5, 150, 105, 0.05) 100%);
    border-radius: 12px;
    border: 1px solid rgba(16, 185, 129, 0.2);
}
.dark .goto-storyline-options {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.1) 0%, rgba(5, 150, 105, 0.1) 100%);
    border-color: rgba(16, 185, 129, 0.25);
}
.goto-storyline-btn {
    display: inline-flex;
    align-items: center;
    padding: 10px 18px;
    font-size: 14px;
    font-weight: 600;
    color: #059669;
    background: white;
    border: 1px solid rgba(16, 185, 129, 0.35);
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.25s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}
.goto-storyline-btn:hover {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: white;
    border-color: transparent;
    box-shadow: 0 4px 16px rgba(16, 185, 129, 0.35);
    transform: translateY(-2px);
}
.goto-storyline-btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(16, 185, 129, 0.25);
}
/* 暗黑模式 */
.dark .goto-storyline-btn {
    color: #6ee7b7;
    background: rgba(16, 185, 129, 0.1);
    border-color: rgba(16, 185, 129, 0.35);
}
.dark .goto-storyline-btn:hover {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: white;
    border-color: transparent;
}
/* 按钮内的图标和文字样式 */
.goto-storyline-btn i {
    margin-right: 6px;
    font-size: 12px;
}
.goto-storyline-btn strong {
    font-weight: 700;
}
.goto-storyline-btn em {
    font-style: italic;
}
/* 移动端适配 */
@media (max-width: 768px) {
    .goto-storyline-options {
        gap: 6px;
        padding: 10px;
    }

    .goto-storyline-btn {
        padding: 8px 14px;
        font-size: 13px;
        border-radius: 16px;
    }
}
/* === [新增] GotoM 按钮样式（保持消息模式） === */
.goto-storyline-btn.goto-merge {
    color: #7c3aed;
    background: white;
    border-color: rgba(124, 58, 237, 0.35);
}
.goto-storyline-btn.goto-merge:hover {
    background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
    color: white;
    border-color: transparent;
    box-shadow: 0 4px 16px rgba(124, 58, 237, 0.35);
}
.dark .goto-storyline-btn.goto-merge {
    color: #c4b5fd;
    background: rgba(124, 58, 237, 0.1);
    border-color: rgba(124, 58, 237, 0.35);
}
.dark .goto-storyline-btn.goto-merge:hover {
    background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
    color: white;
    border-color: transparent;
}
/* === [新增] 移动端聊天气泡布局优化 === */
@media (max-width: 768px) {
    /* 消息容器 - 移动端改为上下布局 */
    .chat-message-row {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .chat-message-row.user-row {
        align-items: flex-end !important;
    }

    /* 头像容器 - 移动端缩小并上移 */
    .chat-message-row .chat-avatar {
        width: 24px !important;
        height: 24px !important;
        margin: 0 0 4px 0 !important;
    }

    /* 气泡容器 - 移动端占满宽度 */
    .chat-message-row .chat-bubble-wrap {
        max-width: 100% !important;
        padding-top: 0 !important;
    }

    /* 底部操作栏 - 移动端调整 padding */
    .chat-message-row + .flex.items-center {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}
/* ==========================================
   视觉小说模式样式
   ========================================== */
/* 角色位置 */
.vn-pos-left {
    transform: translateX(-30%);
}
.vn-pos-center {
    transform: translateX(0);
}
.vn-pos-right {
    transform: translateX(30%);
}
/* 角色动画 */
.vn-character {
    transition: all 0.4s ease-out;
}
/* 角色立绘过渡 */
.vn-char-enter-active,
.vn-char-leave-active {
    transition: all 0.3s ease;
}
.vn-char-enter-from,
.vn-char-leave-to {
    opacity: 0;
    transform: translateY(20px);
}
/* 淡入淡出动画 */
.vn-fade-enter-active,
.vn-fade-leave-active {
    transition: opacity 0.5s ease;
}
.vn-fade-enter-from,
.vn-fade-leave-to {
    opacity: 0;
}
/* 滑入滑出动画 */
.vn-slide-enter-active,
.vn-slide-leave-active {
    transition: all 0.4s ease;
}
.vn-slide-enter-from {
    transform: translateY(50px);
    opacity: 0;
}
.vn-slide-leave-to {
    transform: translateY(-50px);
    opacity: 0;
}
/* VN 舞台用户选择禁用 */
.vn-stage {
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}
/* VN 对话框样式 */
.vn-dialog-text {
    min-height: 3em;
    word-break: break-word;
}
/* VN 选项按钮悬停效果 */
.vn-option-btn {
    transition: all 0.2s ease;
}
.vn-option-btn:hover {
    transform: scale(1.02);
    box-shadow: 0 0 20px rgba(168, 85, 247, 0.4);
}
.vn-option-btn:active {
    transform: scale(0.98);
}
/* 移动端适配 */
@media (max-width: 768px) {
    .vn-character img {
        max-height: 50vh !important;
    }

    .vn-pos-left {
        transform: translateX(-20%);
    }

    .vn-pos-right {
        transform: translateX(20%);
    }

    /* 移动端对话框调整 */
    .vn-dialog {
        padding: 1rem !important;
    }

    .vn-dialog-text {
        font-size: 1rem !important;
        line-height: 1.6 !important;
    }

    /* 移动端选项按钮 */
    .vn-option-btn {
        padding: 0.875rem 1.25rem !important;
        font-size: 0.9rem !important;
    }
}
/* ==========================================
   论坛评论样式
   ========================================== */
/* 评论容器 */
.forum-comment-container {
    margin: 12px 0;
    padding: 12px;
    background: linear-gradient(135deg, rgba(241, 245, 249, 0.8) 0%, rgba(226, 232, 240, 0.6) 100%);
    border-radius: 12px;
    border: 1px solid rgba(148, 163, 184, 0.2);
}
.dark .forum-comment-container {
    background: linear-gradient(135deg, rgba(30, 41, 59, 0.8) 0%, rgba(15, 23, 42, 0.6) 100%);
    border-color: rgba(71, 85, 105, 0.3);
}
/* 单条评论 */
.forum-comment {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.15);
}
.forum-comment:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.forum-comment:first-child {
    padding-top: 0;
}
/* 回复评论缩进 */
.forum-comment.forum-comment-reply {
    margin-left: 20px;
    padding-left: 12px;
    border-left: 2px solid rgba(99, 102, 241, 0.3);
}
.dark .forum-comment.forum-comment-reply {
    border-left-color: rgba(139, 92, 246, 0.4);
}
/* 用户头像 */
.forum-comment-avatar {
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
/* 自定义图片头像包装容器 */
.forum-comment-avatar-wrapper {
    width: 36px;
    height: 36px;
    min-width: 36px;
    flex-shrink: 0;
    line-height: 0;
}
/* 自定义图片头像 */
img.forum-comment-avatar.forum-comment-avatar-img {
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    vertical-align: top;
    display: block;
}
/* 图片加载失败时的回退头像 */
.forum-comment-avatar.forum-comment-avatar-fallback {
    display: none;
}
/* 移动端自定义图片头像 */
@media (max-width: 480px) {
    .forum-comment-avatar-wrapper {
        width: 28px;
        height: 28px;
        min-width: 28px;
    }

    img.forum-comment-avatar.forum-comment-avatar-img {
        width: 28px;
        height: 28px;
    }
}
/* 评论主体 */
.forum-comment-body {
    flex: 1;
    min-width: 0;
}
/* 评论头部 */
.forum-comment-header {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 6px;
    font-size: 13px;
}
/* 用户名 */
.forum-comment-author {
    font-weight: 600;
    color: #3b82f6;
}
.dark .forum-comment-author {
    color: #60a5fa;
}
/* 回复指向 */
.forum-reply-to {
    font-size: 12px;
    color: #64748b;
    display: flex;
    align-items: center;
    gap: 4px;
}
.forum-reply-to i {
    font-size: 10px;
    transform: scaleX(-1);
}
.dark .forum-reply-to {
    color: #94a3b8;
}
/* 楼层号 */
.forum-comment-floor {
    font-size: 11px;
    color: #94a3b8;
    margin-left: auto;
    padding: 2px 6px;
    background: rgba(148, 163, 184, 0.1);
    border-radius: 4px;
}
.dark .forum-comment-floor {
    color: #64748b;
    background: rgba(71, 85, 105, 0.2);
}
/* 评论内容 */
.forum-comment-content {
    font-size: 14px;
    line-height: 1.6;
    color: #374151;
    word-break: break-word;
}
.forum-comment-content p {
    margin: 0;
}
.forum-comment-content p + p {
    margin-top: 8px;
}
.dark .forum-comment-content {
    color: #d1d5db;
}
/* 评论内容内的样式继承 */
.forum-comment-content a {
    color: #2563eb;
}
.dark .forum-comment-content a {
    color: #60a5fa;
}
.forum-comment-content code {
    background: rgba(148, 163, 184, 0.15);
    padding: 1px 4px;
    border-radius: 3px;
    font-size: 0.9em;
}
.dark .forum-comment-content code {
    background: rgba(71, 85, 105, 0.3);
}
/* 移动端适配 */
@media (max-width: 768px) {
    .forum-comment-container {
        padding: 10px;
        margin: 8px 0;
    }

    .forum-comment {
        gap: 8px;
    }

    .forum-comment-avatar {
        width: 28px;
        height: 28px;
        min-width: 28px;
        font-size: 12px;
    }

    .forum-comment.forum-comment-reply {
        margin-left: 12px;
        padding-left: 10px;
    }

    .forum-comment-header {
        font-size: 12px;
        gap: 6px;
    }

    .forum-comment-content {
        font-size: 13px;
    }

    .forum-comment-floor {
        font-size: 10px;
        padding: 1px 4px;
    }
}
/* ==========================================
   即时通讯聊天记录样式 <chat>
   QQ/微信风格的聊天记录
   ========================================== */
/* 聊天容器 */
.chat-container {
    margin: 12px 0;
    padding: 16px;
    background: linear-gradient(135deg, rgba(241, 245, 249, 0.9) 0%, rgba(226, 232, 240, 0.7) 100%);
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.dark .chat-container {
    background: linear-gradient(135deg, rgba(30, 41, 59, 0.9) 0%, rgba(15, 23, 42, 0.7) 100%);
    border-color: rgba(71, 85, 105, 0.3);
}
/* 聊天记录标题 */
.chat-container-title {
    width: 100%;
    font-weight: 600;
    font-size: 14px;
    color: #334155;
    padding-bottom: 10px;
    margin-bottom: 4px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.3);
    text-align: center;
}
.dark .chat-container-title {
    color: #e2e8f0;
    border-bottom-color: rgba(71, 85, 105, 0.4);
}
/* 单条消息 */
.chat-msg {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    max-width: 85%;
}
/* 左侧消息（对方） */
.chat-msg-left {
    align-self: flex-start;
    flex-direction: row;
}
/* 右侧消息（自己） */
.chat-msg-right {
    align-self: flex-end;
    flex-direction: row;
}
/* 头像 */
.chat-msg-avatar {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 700;
    font-size: 16px;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
/* 头像包装容器 */
.chat-msg-avatar-wrapper {
    width: 40px;
    height: 40px;
    min-width: 40px;
    flex-shrink: 0;
    line-height: 0;
}
/* 自定义图片头像 */
img.chat-msg-avatar.chat-msg-avatar-img {
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    vertical-align: top;
    display: block;
}
/* 图片加载失败时的回退头像 */
.chat-msg-avatar.chat-msg-avatar-fallback {
    display: none;
}
/* 消息主体 */
.chat-msg-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-width: 100%;
}
/* 发送者名称 */
.chat-msg-author {
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    padding: 0 4px;
}
.chat-msg-right .chat-msg-author {
    text-align: right;
}
.dark .chat-msg-author {
    color: #94a3b8;
}
/* 回复引用 */
.chat-reply-quote {
    font-size: 11px;
    color: #64748b;
    padding: 4px 8px;
    background: rgba(148, 163, 184, 0.1);
    border-radius: 6px;
    border-left: 2px solid #6366f1;
    margin-bottom: 2px;
    display: flex;
    align-items: center;
    gap: 4px;
}
.chat-msg-right .chat-reply-quote {
    border-left: none;
    border-right: 2px solid #6366f1;
    justify-content: flex-end;
}
.dark .chat-reply-quote {
    color: #94a3b8;
    background: rgba(71, 85, 105, 0.2);
    border-left-color: #8b5cf6;
}
.dark .chat-msg-right .chat-reply-quote {
    border-right-color: #8b5cf6;
}
/* 消息气泡 */
.chat-msg-bubble {
    padding: 10px 14px;
    border-radius: 18px;
    font-size: 14px;
    line-height: 1.5;
    word-break: break-word;
    position: relative;
}
/* 左侧气泡样式 */
.chat-msg-left .chat-msg-bubble {
    background: #ffffff;
    color: #1f2937;
    border-bottom-left-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.dark .chat-msg-left .chat-msg-bubble {
    background: #374151;
    color: #f3f4f6;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
/* 右侧气泡样式 (QQ/微信绿色) */
.chat-msg-right .chat-msg-bubble {
    background: linear-gradient(135deg, #95ec69 0%, #7dd956 100%);
    color: #1a3a1a;
    border-bottom-right-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.dark .chat-msg-right .chat-msg-bubble {
    background: linear-gradient(135deg, #5c8a3d 0%, #4a7832 100%);
    color: #e8f5e0;
}
/* 气泡内的段落 */
.chat-msg-bubble p {
    margin: 0;
}
.chat-msg-bubble p + p {
    margin-top: 6px;
}
/* 气泡内的链接 */
.chat-msg-bubble a {
    color: #2563eb;
    text-decoration: underline;
}
.dark .chat-msg-left .chat-msg-bubble a {
    color: #60a5fa;
}
.chat-msg-right .chat-msg-bubble a {
    color: #1e3a1e;
}
.dark .chat-msg-right .chat-msg-bubble a {
    color: #c8e6c0;
}
/* 气泡内的代码 */
.chat-msg-bubble code {
    background: rgba(0, 0, 0, 0.08);
    padding: 1px 4px;
    border-radius: 3px;
    font-size: 0.9em;
}
.dark .chat-msg-left .chat-msg-bubble code {
    background: rgba(255, 255, 255, 0.1);
}
.chat-msg-right .chat-msg-bubble code {
    background: rgba(0, 0, 0, 0.1);
}
.dark .chat-msg-right .chat-msg-bubble code {
    background: rgba(0, 0, 0, 0.15);
}
/* 系统消息样式 */
.chat-msg-system {
    text-align: center;
    padding: 8px 16px;
    margin: 4px 0;
    font-size: 12px;
    color: #6b7280;
    background: rgba(107, 114, 128, 0.1);
    border-radius: 12px;
    align-self: center;
    max-width: 80%;
}
.dark .chat-msg-system {
    color: #9ca3af;
    background: rgba(156, 163, 175, 0.15);
}
.chat-msg-system p {
    margin: 0;
}
/* 移动端适配 */
@media (max-width: 768px) {
    .chat-container {
        padding: 12px;
        margin: 8px 0;
        gap: 10px;
    }

    .chat-msg {
        max-width: 90%;
        gap: 8px;
    }

    .chat-msg-avatar {
        width: 32px;
        height: 32px;
        min-width: 32px;
        font-size: 14px;
    }

    .chat-msg-avatar-wrapper {
        width: 32px;
        height: 32px;
        min-width: 32px;
    }

    img.chat-msg-avatar.chat-msg-avatar-img {
        width: 32px;
        height: 32px;
    }

    .chat-msg-author {
        font-size: 11px;
    }

    .chat-msg-bubble {
        padding: 8px 12px;
        font-size: 13px;
        border-radius: 14px;
    }

    .chat-msg-left .chat-msg-bubble {
        border-bottom-left-radius: 4px;
    }

    .chat-msg-right .chat-msg-bubble {
        border-bottom-right-radius: 4px;
    }

    .chat-reply-quote {
        font-size: 10px;
        padding: 3px 6px;
    }

    .chat-msg-system {
        font-size: 11px;
        padding: 6px 12px;
    }
}
/* ==========================================
   聊天列表样式 <chatList>
   ========================================== */
/* 聊天列表容器 */
.chatlist-container {
    margin: 12px 0;
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    overflow: hidden;
    background: linear-gradient(135deg, rgba(241, 245, 249, 0.95) 0%, rgba(226, 232, 240, 0.8) 100%);
}
.dark .chatlist-container {
    background: linear-gradient(135deg, rgba(30, 41, 59, 0.95) 0%, rgba(15, 23, 42, 0.8) 100%);
    border-color: rgba(71, 85, 105, 0.3);
}
/* 列表视图 */
.chatlist-list-view {
    display: flex;
    flex-direction: column;
}
/* 列表标题 */
.chatlist-list-header {
    font-size: 18px;
    font-weight: 700;
    color: #1f2937;
    padding: 16px 16px 12px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.15);
}
.dark .chatlist-list-header {
    color: #f3f4f6;
    border-bottom-color: rgba(71, 85, 105, 0.3);
}
/* 列表项 */
.chatlist-item {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    cursor: pointer;
    transition: background-color 0.2s ease;
    border-bottom: 1px solid rgba(148, 163, 184, 0.15);
}
.chatlist-item:last-child {
    border-bottom: none;
}
.chatlist-item:hover {
    background: rgba(99, 102, 241, 0.08);
}
.dark .chatlist-item:hover {
    background: rgba(139, 92, 246, 0.12);
}
.chatlist-item:active {
    background: rgba(99, 102, 241, 0.15);
}
.dark .chatlist-item:active {
    background: rgba(139, 92, 246, 0.2);
}
/* 头像容器（带未读红点） */
.chatlist-item-avatar-container {
    position: relative;
    flex-shrink: 0;
    margin-right: 12px;
}
/* 列表项头像 */
.chatlist-item-avatar {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 700;
    font-size: 18px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}
.chatlist-item-avatar-wrapper {
    width: 48px;
    height: 48px;
    min-width: 48px;
    flex-shrink: 0;
    line-height: 0;
}
img.chatlist-item-avatar.chatlist-item-avatar-img {
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 10px;
    width: 48px;
    height: 48px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
    vertical-align: top;
    display: block;
}
.chatlist-item-avatar.chatlist-item-avatar-fallback {
    display: none;
}
/* 未读红点 */
.chatlist-item-unread {
    position: absolute;
    top: -2px;
    right: -2px;
    width: 18px;
    height: 18px;
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    border-radius: 50%;
    border: 2px solid #f1f5f9;
    box-shadow: 0 2px 4px rgba(239, 68, 68, 0.4);
}
.dark .chatlist-item-unread {
    border-color: #1e293b;
}
/* 列表项内容 */
.chatlist-item-content {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}
/* 列表项标题 */
.chatlist-item-title {
    font-size: 15px;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.dark .chatlist-item-title {
    color: #f3f4f6;
}
/* 列表项预览 */
.chatlist-item-preview {
    font-size: 13px;
    color: #6b7280;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.dark .chatlist-item-preview {
    color: #9ca3af;
}
/* 聊天详情视图 */
.chatlist-chat-view {
    display: none;
}
/* 聊天详情头部 */
.chatlist-chat-header {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    background: rgba(255, 255, 255, 0.8);
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
    backdrop-filter: blur(8px);
}
.dark .chatlist-chat-header {
    background: rgba(30, 41, 59, 0.8);
    border-bottom-color: rgba(71, 85, 105, 0.3);
}
/* 返回按钮 */
.chatlist-back-btn {
    width: 36px;
    height: 36px;
    border: none;
    background: rgba(99, 102, 241, 0.1);
    color: #6366f1;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    margin-right: 12px;
    flex-shrink: 0;
}
.chatlist-back-btn:hover {
    background: rgba(99, 102, 241, 0.2);
    transform: translateX(-2px);
}
.dark .chatlist-back-btn {
    background: rgba(139, 92, 246, 0.15);
    color: #a78bfa;
}
.dark .chatlist-back-btn:hover {
    background: rgba(139, 92, 246, 0.25);
}
/* 聊天详情标题 */
.chatlist-chat-title {
    font-size: 16px;
    font-weight: 600;
    color: #1f2937;
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.dark .chatlist-chat-title {
    color: #f3f4f6;
}
/* 聊天详情内容区域 */
.chatlist-chat-content {
    margin: 0;
    border-radius: 0;
    border: none;
    max-height: 400px;
    overflow-y: auto;
}
/* 移动端适配 */
@media (max-width: 768px) {
    .chatlist-list-header {
        font-size: 16px;
        padding: 12px 12px 10px;
    }

    .chatlist-item {
        padding: 10px 12px;
    }

    .chatlist-item-avatar-container {
        margin-right: 10px;
    }

    .chatlist-item-avatar {
        width: 42px;
        height: 42px;
        min-width: 42px;
        font-size: 16px;
        border-radius: 8px;
    }

    .chatlist-item-avatar-wrapper {
        width: 42px;
        height: 42px;
        min-width: 42px;
    }

    img.chatlist-item-avatar.chatlist-item-avatar-img {
        width: 42px;
        height: 42px;
        border-radius: 8px;
    }

    .chatlist-item-unread {
        width: 16px;
        height: 16px;
    }

    .chatlist-item-title {
        font-size: 14px;
    }

    .chatlist-item-preview {
        font-size: 12px;
    }

    .chatlist-chat-header {
        padding: 10px 12px;
    }

    .chatlist-back-btn {
        width: 32px;
        height: 32px;
        margin-right: 10px;
    }

    .chatlist-chat-title {
        font-size: 15px;
    }

    .chatlist-chat-content {
        max-height: 350px;
    }
}
/* 图片保护 - 禁止下载保存 */
.img-protected {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
    pointer-events: none;
}
/* ==========================================
   剧透遮罩样式 <Hide>
   ========================================== */
/* 默认状态：黑色方块遮罩 */
.hide-spoiler {
    background-color: #1f2937;
    color: #1f2937;
    padding: 0 4px;
    border-radius: 3px;
    cursor: pointer;
    transition: all 0.2s ease;
    -moz-user-select: text;
         user-select: text;
    -webkit-user-select: text;
    /* 防止移动端触摸时文字选中导致内容泄露 */
    -webkit-tap-highlight-color: transparent;
}
.dark .hide-spoiler {
    background-color: #e5e7eb;
    color: #e5e7eb;
}
/* 鼠标悬停时显示内容 - 仅在支持真正 hover 的设备上生效 */
/* 使用 @media (hover: hover) 避免移动端的"粘性"hover 问题 */
@media (hover: hover) and (pointer: fine) {
    .hide-spoiler:hover {
        background-color: rgba(99, 102, 241, 0.15);
        color: inherit;
    }

    .dark .hide-spoiler:hover {
        background-color: rgba(139, 92, 246, 0.2);
        color: inherit;
    }
}
/* 点击后显示内容 */
.hide-spoiler.revealed,
.hide-spoiler.touch-revealed {
    background-color: rgba(99, 102, 241, 0.15);
    color: inherit;
}
.dark .hide-spoiler.revealed,
.dark .hide-spoiler.touch-revealed {
    background-color: rgba(139, 92, 246, 0.2);
    color: inherit;
}
/* 选中时显示内容（兼容方案） */
.hide-spoiler::-moz-selection {
    background-color: #3b82f6;
    color: white;
}
.hide-spoiler::selection {
    background-color: #3b82f6;
    color: white;
}
.hide-spoiler *::-moz-selection {
    background-color: #3b82f6;
    color: white;
}
.hide-spoiler *::selection {
    background-color: #3b82f6;
    color: white;
}
/* === IDcard 身份证卡片样式 === */
/* 外层 wrapper 用于居中 */
.idcard-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 24px 0;
    perspective: 1000px;
}
.idcard-container {
    position: relative;
    width: 100%;
    max-width: 420px;
    padding: 24px;
    border-radius: 16px;
    background: linear-gradient(135deg, #eef2f3 0%, #d9e2e7 100%);
    box-shadow: 
        0 4px 6px -1px rgba(0, 0, 0, 0.1),
        0 2px 4px -1px rgba(0, 0, 0, 0.06),
        inset 0 1px 1px rgba(255, 255, 255, 0.6),
        inset 0 -1px 1px rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.4);
    font-family: "Segoe UI", "Microsoft YaHei", sans-serif;
    overflow: hidden;
    color: #334155;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.idcard-container:hover {
    transform: translateY(-2px) rotateX(2deg);
    box-shadow: 
        0 20px 25px -5px rgba(0, 0, 0, 0.1),
        0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.dark .idcard-container {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    color: #cbd5e1;
    border-color: rgba(255, 255, 255, 0.1);
}
/* 背景纹理 */
.idcard-bg-pattern {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0.05;
    background-image: 
        radial-gradient(circle at 10% 10%, #000 1px, transparent 1px),
        radial-gradient(circle at 90% 90%, #000 1px, transparent 1px);
    background-size: 20px 20px;
    pointer-events: none;
    z-index: 0;
}
.dark .idcard-bg-pattern {
    opacity: 0.1;
    background-image: 
        radial-gradient(circle at 10% 10%, #fff 1px, transparent 1px),
        radial-gradient(circle at 90% 90%, #fff 1px, transparent 1px);
}
/* 装饰性芯片 */
.idcard-chip {
    position: absolute;
    top: 24px;
    left: 24px;
    width: 44px;
    height: 34px;
    background: linear-gradient(135deg, #fcd34d 0%, #d97706 100%);
    border-radius: 6px;
    box-shadow: inset 0 1px 2px rgba(255,255,255,0.4), 0 1px 2px rgba(0,0,0,0.1);
    z-index: 2;
    opacity: 0.9;
}
.idcard-chip::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    background: rgba(0,0,0,0.15);
}
.idcard-chip::after {
    content: '';
    position: absolute;
    left: 33%;
    top: 0;
    width: 1px;
    height: 100%;
    background: rgba(0,0,0,0.15);
    box-shadow: 14px 0 0 rgba(0,0,0,0.15);
}
/* 标题 */
.idcard-header {
    text-align: right;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #1e293b;
    margin-bottom: 24px;
    padding-bottom: 8px;
    border-bottom: 2px solid #cbd5e1;
    text-transform: uppercase;
    position: relative;
    z-index: 2;
    padding-left: 60px;
}
.dark .idcard-header {
    color: #e2e8f0;
    border-bottom-color: #334155;
}
.idcard-header-icon {
    margin-right: 10px;
    color: #3b82f6;
    font-size: 1.2em;
    vertical-align: text-bottom;
    text-shadow: 0 1px 2px rgba(59, 130, 246, 0.3);
    animation: iconPulse 2s ease-in-out infinite;
}
.dark .idcard-header-icon {
    color: #60a5fa;
    text-shadow: 0 1px 2px rgba(96, 165, 250, 0.3);
}
@keyframes iconPulse {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
    }
    50% {
        opacity: 0.85;
        transform: scale(1.05);
    }
}
/* 装饰性背景图标 */
.idcard-watermark {
    position: absolute;
    bottom: 20px;
    right: 20px;
    font-size: 120px;
    color: rgba(0, 0, 0, 0.03);
    z-index: 1;
    pointer-events: none;
    transform: rotate(-15deg);
    transition: all 0.3s ease;
}
.dark .idcard-watermark {
    color: rgba(255, 255, 255, 0.05);
}
.idcard-container:hover .idcard-watermark {
    transform: rotate(-15deg) scale(1.05);
    opacity: 0.8;
}
/* 主体内容 */
.idcard-body {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    position: relative;
    z-index: 2;
}
/* 照片 */
.idcard-photo {
    flex-shrink: 0;
    width: 100px;
    height: 130px;
    background: #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid rgba(0,0,0,0.1);
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    position: relative;
}
.dark .idcard-photo {
    background: #334155;
    border-color: rgba(255,255,255,0.1);
}
.idcard-photo img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.idcard-photo-loading, .idcard-photo-error {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: #94a3b8;
    text-align: center;
    background: #f1f5f9;
}
.dark .idcard-photo-loading, .dark .idcard-photo-error {
    background: #1e293b;
    color: #64748b;
}
/* 信息区域 */
.idcard-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    font-size: 13px;
    min-width: 0;
}
/* 信息行 */
.idcard-row {
    display: flex;
    align-items: baseline;
    line-height: 1.4;
    border-bottom: 1px solid rgba(148, 163, 184, 0.1);
    padding-bottom: 4px;
}
.idcard-row:last-child {
    border-bottom: none;
}
.dark .idcard-row {
    border-bottom-color: rgba(71, 85, 105, 0.2);
}
.idcard-label {
    color: #64748b;
    font-weight: 600;
    width: 60px;
    flex-shrink: 0;
    margin-right: 8px;
    -moz-text-align-last: justify;
         text-align-last: justify;
}
.dark .idcard-label {
    color: #94a3b8;
}
.idcard-value {
    color: #0f172a;
    font-weight: 500;
    flex: 1;
    word-break: break-all;
}
.dark .idcard-value {
    color: #f8fafc;
}
/* 完整行 */
.idcard-row-full {
    margin-top: 12px;
    padding-top: 8px;
    border-top: 1px dashed #cbd5e1;
    font-family: "Courier New", monospace;
    font-size: 16px;
    letter-spacing: 1px;
    font-weight: 700;
    justify-content: center;
    text-align: center;
    display: flex;
}
.dark .idcard-row-full {
    border-top-color: #334155;
    color: #e2e8f0;
}
.idcard-error {
    margin: 12px 0;
    padding: 12px;
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.3);
    border-radius: 8px;
    color: #dc2626;
    font-size: 14px;
}
.dark .idcard-error {
    background: rgba(239, 68, 68, 0.2);
    border-color: rgba(239, 68, 68, 0.4);
    color: #f87171;
}
.idcard-loading {
    color: #6366f1;
    font-size: 14px;
}
.dark .idcard-loading {
    color: #a78bfa;
}
/* 移动端适配 */
@media (max-width: 640px) {
    .idcard-container {
        padding: 20px;
    }
    .idcard-chip {
        width: 36px;
        height: 28px;
        top: 20px;
        left: 20px;
    }
    .idcard-header {
        font-size: 16px;
        padding-left: 50px;
        margin-bottom: 20px;
    }
    .idcard-photo {
        width: 90px;
        height: 115px;
    }
    .idcard-info {
        font-size: 12px;
    }
    .idcard-row-full {
        font-size: 14px;
    }
}
/* === ItemInfo 物品背包样式 === */
.iteminfo-wrapper {
    margin: 16px 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.iteminfo-bag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    color: white;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    font-size: 14px;
    box-shadow: 0 2px 8px rgba(245, 158, 11, 0.3);
    transition: all 0.2s ease;
    width: -moz-fit-content;
    width: fit-content;
}
.iteminfo-bag:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.4);
}
.iteminfo-bag i {
    font-size: 16px;
}
.item-count {
    background: rgba(255, 255, 255, 0.25);
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 700;
}
.dark .iteminfo-bag {
    background: linear-gradient(135deg, #d97706 0%, #b45309 100%);
    box-shadow: 0 2px 8px rgba(217, 119, 6, 0.4);
}
.dark .iteminfo-bag:hover {
    box-shadow: 0 4px 12px rgba(217, 119, 6, 0.5);
}
.iteminfo-panel {
    display: block;
    padding: 16px;
    background: rgba(249, 250, 251, 0.8);
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    backdrop-filter: blur(8px);
}
.dark .iteminfo-panel {
    background: rgba(31, 41, 55, 0.8);
    border-color: #374151;
}
.iteminfo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}
.item-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 12px;
    background: white;
    border: 2px solid #e5e7eb;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
}
.item-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
    border-color: #f59e0b;
}
.item-card.item-selected {
    border-color: #f59e0b;
    background: #fffbeb;
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);
}
.dark .item-card {
    background: #1f2937;
    border-color: #374151;
}
.dark .item-card:hover {
    border-color: #d97706;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}
.dark .item-card.item-selected {
    border-color: #d97706;
    background: #451a03;
    box-shadow: 0 4px 12px rgba(217, 119, 6, 0.4);
}
.item-image {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
    border-radius: 8px;
    margin-bottom: 8px;
    overflow: hidden;
}
.item-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.item-image i {
    font-size: 32px;
    color: #9ca3af;
}
/* 当使用 Font Awesome 图标时的特殊样式 */
.item-image.item-icon {
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
}
.item-image.item-icon i {
    font-size: 36px;
    color: #d97706;
}
.dark .item-image {
    background: linear-gradient(135deg, #374151 0%, #4b5563 100%);
}
.dark .item-image i {
    color: #6b7280;
}
.dark .item-image.item-icon {
    background: linear-gradient(135deg, #451a03 0%, #78350f 100%);
}
.dark .item-image.item-icon i {
    color: #fbbf24;
}
.item-name {
    font-size: 13px;
    font-weight: 600;
    color: #1f2937;
    text-align: center;
    line-height: 1.3;
    word-break: break-word;
}
.dark .item-name {
    color: #f9fafb;
}
.item-quantity {
    position: absolute;
    top: 8px;
    right: 8px;
    background: rgba(245, 158, 11, 0.9);
    color: white;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 10px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.dark .item-quantity {
    background: rgba(217, 119, 6, 0.9);
}
/* 物品详情面板 */
.item-detail-panel {
    padding: 16px;
    background: white;
    border: 2px solid #f59e0b;
    border-radius: 10px;
    margin-top: 8px;
    animation: slideDown 0.3s ease;
}
@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.dark .item-detail-panel {
    background: #1f2937;
    border-color: #d97706;
}
.item-detail-content {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    position: relative;
}
.item-use-btn {
    position: absolute;
    bottom: 0;
    right: 0;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 18px;
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(16, 185, 129, 0.3);
    transition: all 0.2s ease;
}
.item-use-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4);
    background: linear-gradient(135deg, #059669 0%, #047857 100%);
}
.item-use-btn:active {
    transform: translateY(0);
}
.item-use-btn i {
    font-size: 16px;
}
.dark .item-use-btn {
    background: linear-gradient(135deg, #059669 0%, #047857 100%);
    box-shadow: 0 2px 8px rgba(5, 150, 105, 0.4);
}
.dark .item-use-btn:hover {
    box-shadow: 0 4px 12px rgba(5, 150, 105, 0.5);
}
.item-detail-icon {
    flex-shrink: 0;
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
    border-radius: 12px;
    overflow: hidden;
}
.item-detail-icon img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.item-detail-icon i {
    font-size: 48px;
    color: #9ca3af;
}
.item-detail-icon.item-detail-icon-fa {
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
}
.item-detail-icon.item-detail-icon-fa i {
    font-size: 52px;
    color: #d97706;
}
.dark .item-detail-icon {
    background: linear-gradient(135deg, #374151 0%, #4b5563 100%);
}
.dark .item-detail-icon i {
    color: #6b7280;
}
.dark .item-detail-icon.item-detail-icon-fa {
    background: linear-gradient(135deg, #451a03 0%, #78350f 100%);
}
.dark .item-detail-icon.item-detail-icon-fa i {
    color: #fbbf24;
}
.item-detail-info {
    flex: 1;
    min-width: 0;
}
.item-detail-name {
    font-size: 18px;
    font-weight: 700;
    color: #1f2937;
    margin-bottom: 8px;
    line-height: 1.4;
}
.dark .item-detail-name {
    color: #f9fafb;
}
.item-detail-quantity {
    font-size: 14px;
    font-weight: 600;
    color: #f59e0b;
    margin-bottom: 8px;
}
.dark .item-detail-quantity {
    color: #fbbf24;
}
.item-detail-desc {
    font-size: 14px;
    color: #4b5563;
    line-height: 1.6;
    white-space: pre-wrap;
    word-break: break-word;
}
.dark .item-detail-desc {
    color: #d1d5db;
}
.iteminfo-loading {
    color: #f59e0b;
    font-size: 14px;
}
.dark .iteminfo-loading {
    color: #fbbf24;
}
/* 移动端适配 */
@media (max-width: 640px) {
    .iteminfo-grid {
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
        gap: 10px;
    }

    .item-card {
        padding: 10px;
    }

    .item-image {
        width: 60px;
        height: 60px;
    }

    .item-image i {
        font-size: 24px;
    }

    .item-image.item-icon i {
        font-size: 28px;
    }

    .item-name {
        font-size: 12px;
    }

    .item-detail-panel {
        padding: 12px;
    }

    .item-detail-content {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .item-detail-icon {
        width: 80px;
        height: 80px;
    }

    .item-detail-icon i {
        font-size: 36px;
    }

    .item-detail-icon.item-detail-icon-fa i {
        font-size: 40px;
    }

    .item-detail-name {
        font-size: 16px;
    }

    .item-detail-desc {
        font-size: 13px;
    }

    .item-use-btn {
        position: static;
        width: 100%;
        margin-top: 12px;
        justify-content: center;
    }
}
/* static/css/market.css */
[v-cloak] {
    display: none !important;
}
/* === 1. 全局字体与排版 === */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: 'Segoe UI', system-ui, sans-serif;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.015em;
}
/* === 2. 背景纹理 (复用 style.css) === */
.bg-grid-pattern {
    background-image: radial-gradient(#e5e7eb 1px, transparent 1px);
    background-size: 24px 24px;
}
.dark .bg-grid-pattern {
    background-image: radial-gradient(#374151 1px, transparent 1px);
}
/* === 3. 滚动条美化 === */
.custom-scrollbar::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
.custom-scrollbar::-webkit-scrollbar-track {
    background: transparent;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}
.dark .custom-scrollbar::-webkit-scrollbar-thumb {
    background: #4b5563;
}
/* === 4. 动画 === */
.animate-fade-in {
    animation: fadeIn 0.3s ease-out;
}
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.animate-slide-up {
    animation: slideUp 0.3s ease-out forwards;
}
@keyframes slideUp {
    from {
        transform: translateY(30px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}
/* === 5. Hero 横幅 === */
.hero-banner {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    position: relative;
    overflow: hidden;
}
.dark .hero-banner {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
}
/* 横幅内的装饰光点 */
.hero-banner::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 60%);
    pointer-events: none;
}
/* === 6. 搜索框样式 === */
.search-input {
    width: 100%;
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    /* 16px */
    padding: 0.85rem 1rem 0.85rem 2.8rem;
    font-size: 0.95rem;
    color: #334155;
    outline: none;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
}
.dark .search-input {
    background-color: #2c2e33;
    border-color: #373a40;
    color: #e2e8f0;
    box-shadow: none;
}
.search-input:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}
.dark .search-input:focus {
    background-color: #25262b;
}
/* === 7. 卡片交互效果 === */
.market-card {
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid transparent;
}
.market-card:active {
    transform: scale(0.99);
}
.market-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.08);
}
/* 浅色模式悬停 */
html:not(.dark) .market-card:hover {
    border-color: #bfdbfe;
    background-color: #ffffff;
}
/* 深色模式悬停 */
html.dark .market-card:hover {
    border-color: #3b82f6;
    background-color: #2c2e33;
}
/* 文本截断 */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
/* static/css/workshop.css */
[v-cloak] { display: none !important; }
/* === 1. 全局字体与排版 === */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: 'Segoe UI', system-ui, sans-serif;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.015em;
}
/* === 2. 滚动条美化 === */
.custom-scrollbar::-webkit-scrollbar { width: 6px; height: 6px; }
.custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }
.custom-scrollbar::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
.dark .custom-scrollbar::-webkit-scrollbar-thumb { background: #4b5563; }
/* === 3. 统一输入框样式 (Textarea & Input) === */
.unified-textarea, .input-field {
    width: 100%;
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem; /* 12px */
    padding: 0.75rem 1rem;
    font-family: 'Segoe UI', system-ui, sans-serif !important;
    font-size: 0.875rem !important; /* 14px */
    color: #334155;
    outline: none;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
/* 文本域专用调整 */
.unified-textarea {
    resize: none;
    min-height: 80px;
    line-height: 1.6 !important;
}
/* 暗黑模式适配 */
.dark .unified-textarea, .dark .input-field {
    background-color: #2c2e33;
    border-color: #373a40;
    color: #e2e8f0;
    box-shadow: none;
}
/* 聚焦高亮 */
.unified-textarea:focus, .input-field:focus {
    border-color: #3b82f6;
    background-color: #ffffff;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}
.dark .unified-textarea:focus, .dark .input-field:focus {
    background-color: #25262b;
}
/* === 4. 卡片容器 (世界书/脚本) === */
.card {
    background-color: white;
    border: 1px solid #f1f5f9;
    border-radius: 0.75rem;
    padding: 1.5rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02);
    transition: transform 0.2s, box-shadow 0.2s;
}
.dark .card {
    background-color: #25262b;
    border-color: #373a40;
}
.card:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
    transform: translateY(-1px);
}
/* === 5. 按钮样式 === */
.btn-primary {
    padding: 0.5rem 1.25rem;
    background-color: #2563eb;
    color: white;
    border-radius: 0.5rem;
    font-weight: 600;
    font-size: 0.875rem;
    box-shadow: 0 4px 6px -1px rgba(37, 99, 235, 0.2);
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}
.btn-primary:hover { background-color: #1d4ed8; transform: translateY(-1px); }
.btn-primary:active { transform: translateY(0); }
/* === 6. 布局辅助 === */
.form-group { display: flex; flex-direction: column; gap: 0.5rem; }
.form-group label {
    font-size: 0.75rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.dark .form-group label { color: #94a3b8; }
/* === 7. 动画 === */
.animate-fade-in { animation: fadeIn 0.3s ease-out; }
@keyframes fadeIn { 
    from { opacity: 0; transform: translateY(5px); } 
    to { opacity: 1; transform: translateY(0); } 
}
.animate-zoom-in { animation: zoomIn 0.2s ease-out; }
@keyframes zoomIn {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}
.animate-fade-in {
    animation: fadeIn 0.3s ease-out;
}
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.animate-zoom-in {
    animation: zoomIn 0.2s ease-out;
}
@keyframes zoomIn {
    from {
        opacity: 0;
        transform: scale(0.95);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px;
}
*, ::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.19 | MIT License | https://tailwindcss.com */
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}
::before,
::after {
  --tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/
html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
  color: inherit;
  text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}
/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}
/*
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}
/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
  outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
  box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/*
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
  cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
  max-width: 100%;
  height: auto;
}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
.\!container {
    width: 100% !important;
}
.container {
    width: 100%;
}
@media (min-width: 480px) {
    .\!container {
        max-width: 480px !important;
    }
    .container {
        max-width: 480px;
    }
}
@media (min-width: 640px) {
    .\!container {
        max-width: 640px !important;
    }
    .container {
        max-width: 640px;
    }
}
@media (min-width: 768px) {
    .\!container {
        max-width: 768px !important;
    }
    .container {
        max-width: 768px;
    }
}
@media (min-width: 1024px) {
    .\!container {
        max-width: 1024px !important;
    }
    .container {
        max-width: 1024px;
    }
}
@media (min-width: 1280px) {
    .\!container {
        max-width: 1280px !important;
    }
    .container {
        max-width: 1280px;
    }
}
@media (min-width: 1536px) {
    .\!container {
        max-width: 1536px !important;
    }
    .container {
        max-width: 1536px;
    }
}
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}
.pointer-events-none {
    pointer-events: none;
}
.pointer-events-auto {
    pointer-events: auto;
}
.visible {
    visibility: visible;
}
.collapse {
    visibility: collapse;
}
.static {
    position: static;
}
.fixed {
    position: fixed;
}
.absolute {
    position: absolute;
}
.relative {
    position: relative;
}
.sticky {
    position: sticky;
}
.inset-0 {
    inset: 0px;
}
.inset-x-0 {
    left: 0px;
    right: 0px;
}
.inset-y-0 {
    top: 0px;
    bottom: 0px;
}
.-bottom-0\.5 {
    bottom: -0.125rem;
}
.-right-0\.5 {
    right: -0.125rem;
}
.-right-1 {
    right: -0.25rem;
}
.-right-10 {
    right: -2.5rem;
}
.-right-2 {
    right: -0.5rem;
}
.-top-0\.5 {
    top: -0.125rem;
}
.-top-1 {
    top: -0.25rem;
}
.-top-10 {
    top: -2.5rem;
}
.-top-16 {
    top: -4rem;
}
.-top-2 {
    top: -0.5rem;
}
.bottom-0 {
    bottom: 0px;
}
.bottom-1 {
    bottom: 0.25rem;
}
.bottom-16 {
    bottom: 4rem;
}
.bottom-24 {
    bottom: 6rem;
}
.bottom-3 {
    bottom: 0.75rem;
}
.bottom-4 {
    bottom: 1rem;
}
.bottom-full {
    bottom: 100%;
}
.left-0 {
    left: 0px;
}
.left-1 {
    left: 0.25rem;
}
.left-1\/2 {
    left: 50%;
}
.left-2\.5 {
    left: 0.625rem;
}
.left-3 {
    left: 0.75rem;
}
.left-4 {
    left: 1rem;
}
.right-0 {
    right: 0px;
}
.right-1 {
    right: 0.25rem;
}
.right-1\.5 {
    right: 0.375rem;
}
.right-2 {
    right: 0.5rem;
}
.right-20 {
    right: 5rem;
}
.right-3 {
    right: 0.75rem;
}
.right-4 {
    right: 1rem;
}
.right-5 {
    right: 1.25rem;
}
.right-\[4\.5rem\] {
    right: 4.5rem;
}
.top-0 {
    top: 0px;
}
.top-1 {
    top: 0.25rem;
}
.top-1\.5 {
    top: 0.375rem;
}
.top-1\/2 {
    top: 50%;
}
.top-12 {
    top: 3rem;
}
.top-2 {
    top: 0.5rem;
}
.top-24 {
    top: 6rem;
}
.top-3 {
    top: 0.75rem;
}
.top-3\.5 {
    top: 0.875rem;
}
.top-4 {
    top: 1rem;
}
.top-5 {
    top: 1.25rem;
}
.top-6 {
    top: 1.5rem;
}
.top-full {
    top: 100%;
}
.z-0 {
    z-index: 0;
}
.z-10 {
    z-index: 10;
}
.z-20 {
    z-index: 20;
}
.z-30 {
    z-index: 30;
}
.z-40 {
    z-index: 40;
}
.z-50 {
    z-index: 50;
}
.z-\[1000\] {
    z-index: 1000;
}
.z-\[100\] {
    z-index: 100;
}
.z-\[200\] {
    z-index: 200;
}
.z-\[300\] {
    z-index: 300;
}
.z-\[60\] {
    z-index: 60;
}
.z-\[70\] {
    z-index: 70;
}
.z-\[9999\] {
    z-index: 9999;
}
.col-span-2 {
    grid-column: span 2 / span 2;
}
.col-span-full {
    grid-column: 1 / -1;
}
.-mx-2 {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
}
.mx-1 {
    margin-left: 0.25rem;
    margin-right: 0.25rem;
}
.mx-2 {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}
.mx-8 {
    margin-left: 2rem;
    margin-right: 2rem;
}
.mx-auto {
    margin-left: auto;
    margin-right: auto;
}
.my-1 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}
.my-2 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}
.my-4 {
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.-mt-6 {
    margin-top: -1.5rem;
}
.mb-0\.5 {
    margin-bottom: 0.125rem;
}
.mb-1 {
    margin-bottom: 0.25rem;
}
.mb-1\.5 {
    margin-bottom: 0.375rem;
}
.mb-10 {
    margin-bottom: 2.5rem;
}
.mb-12 {
    margin-bottom: 3rem;
}
.mb-2 {
    margin-bottom: 0.5rem;
}
.mb-2\.5 {
    margin-bottom: 0.625rem;
}
.mb-24 {
    margin-bottom: 6rem;
}
.mb-3 {
    margin-bottom: 0.75rem;
}
.mb-4 {
    margin-bottom: 1rem;
}
.mb-5 {
    margin-bottom: 1.25rem;
}
.mb-6 {
    margin-bottom: 1.5rem;
}
.mb-8 {
    margin-bottom: 2rem;
}
.ml-0 {
    margin-left: 0px;
}
.ml-1 {
    margin-left: 0.25rem;
}
.ml-10 {
    margin-left: 2.5rem;
}
.ml-2 {
    margin-left: 0.5rem;
}
.ml-3 {
    margin-left: 0.75rem;
}
.ml-4 {
    margin-left: 1rem;
}
.ml-auto {
    margin-left: auto;
}
.mr-0\.5 {
    margin-right: 0.125rem;
}
.mr-1 {
    margin-right: 0.25rem;
}
.mr-2 {
    margin-right: 0.5rem;
}
.mr-3 {
    margin-right: 0.75rem;
}
.mr-4 {
    margin-right: 1rem;
}
.mr-8 {
    margin-right: 2rem;
}
.mr-auto {
    margin-right: auto;
}
.mt-0\.5 {
    margin-top: 0.125rem;
}
.mt-1 {
    margin-top: 0.25rem;
}
.mt-1\.5 {
    margin-top: 0.375rem;
}
.mt-12 {
    margin-top: 3rem;
}
.mt-2 {
    margin-top: 0.5rem;
}
.mt-3 {
    margin-top: 0.75rem;
}
.mt-4 {
    margin-top: 1rem;
}
.mt-6 {
    margin-top: 1.5rem;
}
.mt-8 {
    margin-top: 2rem;
}
.line-clamp-1 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
.line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.line-clamp-3 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.block {
    display: block;
}
.inline-block {
    display: inline-block;
}
.flex {
    display: flex;
}
.inline-flex {
    display: inline-flex;
}
.table {
    display: table;
}
.grid {
    display: grid;
}
.hidden {
    display: none;
}
.aspect-\[3\/4\] {
    aspect-ratio: 3/4;
}
.aspect-\[3\/5\] {
    aspect-ratio: 3/5;
}
.aspect-square {
    aspect-ratio: 1 / 1;
}
.h-0\.5 {
    height: 0.125rem;
}
.h-1 {
    height: 0.25rem;
}
.h-1\.5 {
    height: 0.375rem;
}
.h-1\/2 {
    height: 50%;
}
.h-10 {
    height: 2.5rem;
}
.h-12 {
    height: 3rem;
}
.h-14 {
    height: 3.5rem;
}
.h-16 {
    height: 4rem;
}
.h-2 {
    height: 0.5rem;
}
.h-2\.5 {
    height: 0.625rem;
}
.h-20 {
    height: 5rem;
}
.h-24 {
    height: 6rem;
}
.h-28 {
    height: 7rem;
}
.h-3 {
    height: 0.75rem;
}
.h-32 {
    height: 8rem;
}
.h-4 {
    height: 1rem;
}
.h-40 {
    height: 10rem;
}
.h-48 {
    height: 12rem;
}
.h-5 {
    height: 1.25rem;
}
.h-6 {
    height: 1.5rem;
}
.h-64 {
    height: 16rem;
}
.h-7 {
    height: 1.75rem;
}
.h-72 {
    height: 18rem;
}
.h-8 {
    height: 2rem;
}
.h-9 {
    height: 2.25rem;
}
.h-\[100dvh\] {
    height: 100dvh;
}
.h-\[40px\] {
    height: 40px;
}
.h-\[60vh\] {
    height: 60vh;
}
.h-\[70vh\] {
    height: 70vh;
}
.h-\[80vh\] {
    height: 80vh;
}
.h-\[85\%\] {
    height: 85%;
}
.h-\[90vh\] {
    height: 90vh;
}
.h-\[92dvh\] {
    height: 92dvh;
}
.h-auto {
    height: auto;
}
.h-full {
    height: 100%;
}
.h-px {
    height: 1px;
}
.h-screen {
    height: 100vh;
}
.max-h-24 {
    max-height: 6rem;
}
.max-h-32 {
    max-height: 8rem;
}
.max-h-40 {
    max-height: 10rem;
}
.max-h-48 {
    max-height: 12rem;
}
.max-h-60 {
    max-height: 15rem;
}
.max-h-64 {
    max-height: 16rem;
}
.max-h-80 {
    max-height: 20rem;
}
.max-h-96 {
    max-height: 24rem;
}
.max-h-\[200px\] {
    max-height: 200px;
}
.max-h-\[45vh\] {
    max-height: 45vh;
}
.max-h-\[500px\] {
    max-height: 500px;
}
.max-h-\[600px\] {
    max-height: 600px;
}
.max-h-\[60vh\] {
    max-height: 60vh;
}
.max-h-\[700px\] {
    max-height: 700px;
}
.max-h-\[70vh\] {
    max-height: 70vh;
}
.max-h-\[72px\] {
    max-height: 72px;
}
.max-h-\[80vh\] {
    max-height: 80vh;
}
.max-h-\[85vh\] {
    max-height: 85vh;
}
.max-h-\[90\%\] {
    max-height: 90%;
}
.max-h-\[90vh\] {
    max-height: 90vh;
}
.max-h-full {
    max-height: 100%;
}
.min-h-0 {
    min-height: 0px;
}
.min-h-\[100px\] {
    min-height: 100px;
}
.min-h-\[120px\] {
    min-height: 120px;
}
.min-h-\[180px\] {
    min-height: 180px;
}
.min-h-\[220px\] {
    min-height: 220px;
}
.min-h-\[300px\] {
    min-height: 300px;
}
.min-h-\[3em\] {
    min-height: 3em;
}
.min-h-\[400px\] {
    min-height: 400px;
}
.min-h-\[56px\] {
    min-height: 56px;
}
.min-h-\[60px\] {
    min-height: 60px;
}
.min-h-\[80px\] {
    min-height: 80px;
}
.min-h-screen {
    min-height: 100vh;
}
.w-1 {
    width: 0.25rem;
}
.w-1\.5 {
    width: 0.375rem;
}
.w-10 {
    width: 2.5rem;
}
.w-11 {
    width: 2.75rem;
}
.w-12 {
    width: 3rem;
}
.w-14 {
    width: 3.5rem;
}
.w-16 {
    width: 4rem;
}
.w-2 {
    width: 0.5rem;
}
.w-2\.5 {
    width: 0.625rem;
}
.w-20 {
    width: 5rem;
}
.w-24 {
    width: 6rem;
}
.w-28 {
    width: 7rem;
}
.w-3 {
    width: 0.75rem;
}
.w-32 {
    width: 8rem;
}
.w-4 {
    width: 1rem;
}
.w-40 {
    width: 10rem;
}
.w-44 {
    width: 11rem;
}
.w-48 {
    width: 12rem;
}
.w-5 {
    width: 1.25rem;
}
.w-56 {
    width: 14rem;
}
.w-6 {
    width: 1.5rem;
}
.w-64 {
    width: 16rem;
}
.w-7 {
    width: 1.75rem;
}
.w-72 {
    width: 18rem;
}
.w-8 {
    width: 2rem;
}
.w-9 {
    width: 2.25rem;
}
.w-96 {
    width: 24rem;
}
.w-\[90\%\] {
    width: 90%;
}
.w-\[90vw\] {
    width: 90vw;
}
.w-\[95\%\] {
    width: 95%;
}
.w-fit {
    width: -moz-fit-content;
    width: fit-content;
}
.w-full {
    width: 100%;
}
.w-px {
    width: 1px;
}
.min-w-0 {
    min-width: 0px;
}
.min-w-\[100px\] {
    min-width: 100px;
}
.min-w-\[110px\] {
    min-width: 110px;
}
.min-w-\[120px\] {
    min-width: 120px;
}
.min-w-\[180px\] {
    min-width: 180px;
}
.min-w-\[200px\] {
    min-width: 200px;
}
.min-w-\[300px\] {
    min-width: 300px;
}
.min-w-\[90px\] {
    min-width: 90px;
}
.max-w-2xl {
    max-width: 42rem;
}
.max-w-3xl {
    max-width: 48rem;
}
.max-w-4xl {
    max-width: 56rem;
}
.max-w-5xl {
    max-width: 64rem;
}
.max-w-6xl {
    max-width: 72rem;
}
.max-w-7xl {
    max-width: 80rem;
}
.max-w-\[100px\] {
    max-width: 100px;
}
.max-w-\[120px\] {
    max-width: 120px;
}
.max-w-\[150px\] {
    max-width: 150px;
}
.max-w-\[180px\] {
    max-width: 180px;
}
.max-w-\[200px\] {
    max-width: 200px;
}
.max-w-\[60\%\] {
    max-width: 60%;
}
.max-w-\[75\%\] {
    max-width: 75%;
}
.max-w-\[80px\] {
    max-width: 80px;
}
.max-w-\[90\%\] {
    max-width: 90%;
}
.max-w-\[90vw\] {
    max-width: 90vw;
}
.max-w-\[95\%\] {
    max-width: 95%;
}
.max-w-\[calc\(100vw-2rem\)\] {
    max-width: calc(100vw - 2rem);
}
.max-w-full {
    max-width: 100%;
}
.max-w-lg {
    max-width: 32rem;
}
.max-w-md {
    max-width: 28rem;
}
.max-w-none {
    max-width: none;
}
.max-w-sm {
    max-width: 24rem;
}
.max-w-xl {
    max-width: 36rem;
}
.max-w-xs {
    max-width: 20rem;
}
.flex-1 {
    flex: 1 1 0%;
}
.flex-\[2\] {
    flex: 2;
}
.flex-shrink {
    flex-shrink: 1;
}
.flex-shrink-0 {
    flex-shrink: 0;
}
.shrink-0 {
    flex-shrink: 0;
}
.origin-top-right {
    transform-origin: top right;
}
.-translate-x-1\/2 {
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-x-full {
    --tw-translate-x: -100%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2 {
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-4 {
    --tw-translate-y: -1rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-0 {
    --tw-translate-x: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-1 {
    --tw-translate-x: 0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-1\/2 {
    --tw-translate-x: 50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-1\/4 {
    --tw-translate-x: 25%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-6 {
    --tw-translate-x: 1.5rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-1\/2 {
    --tw-translate-y: 50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-1\/4 {
    --tw-translate-y: 25%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-2 {
    --tw-translate-y: 0.5rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-\[-20px\] {
    --tw-translate-y: -20px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-rotate-12 {
    --tw-rotate: -12deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-rotate-45 {
    --tw-rotate: -45deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-180 {
    --tw-rotate: 180deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-90 {
    --tw-rotate: 90deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-100 {
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-110 {
    --tw-scale-x: 1.1;
    --tw-scale-y: 1.1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-90 {
    --tw-scale-x: .9;
    --tw-scale-y: .9;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-95 {
    --tw-scale-x: .95;
    --tw-scale-y: .95;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes bounce {
    0%, 100% {
        transform: translateY(-25%);
        animation-timing-function: cubic-bezier(0.8,0,1,1);
    }
    50% {
        transform: none;
        animation-timing-function: cubic-bezier(0,0,0.2,1);
    }
}
.animate-bounce {
    animation: bounce 1s infinite;
}
@keyframes pulse {
    50% {
        opacity: .5;
    }
}
.animate-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.cursor-grab {
    cursor: grab;
}
.cursor-not-allowed {
    cursor: not-allowed;
}
.cursor-pointer {
    cursor: pointer;
}
.touch-none {
    touch-action: none;
}
.select-none {
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}
.select-all {
    -webkit-user-select: all;
       -moz-user-select: all;
            user-select: all;
}
.resize-none {
    resize: none;
}
.resize {
    resize: both;
}
.snap-x {
    scroll-snap-type: x var(--tw-scroll-snap-strictness);
}
.snap-mandatory {
    --tw-scroll-snap-strictness: mandatory;
}
.snap-center {
    scroll-snap-align: center;
}
.scroll-mt-24 {
    scroll-margin-top: 6rem;
}
.list-none {
    list-style-type: none;
}
.appearance-none {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
.break-inside-avoid {
    -moz-column-break-inside: avoid;
         break-inside: avoid;
}
.grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.flex-row {
    flex-direction: row;
}
.flex-row-reverse {
    flex-direction: row-reverse;
}
.flex-col {
    flex-direction: column;
}
.flex-wrap {
    flex-wrap: wrap;
}
.items-start {
    align-items: flex-start;
}
.items-end {
    align-items: flex-end;
}
.items-center {
    align-items: center;
}
.justify-start {
    justify-content: flex-start;
}
.justify-end {
    justify-content: flex-end;
}
.justify-center {
    justify-content: center;
}
.justify-between {
    justify-content: space-between;
}
.justify-around {
    justify-content: space-around;
}
.gap-0\.5 {
    gap: 0.125rem;
}
.gap-1 {
    gap: 0.25rem;
}
.gap-1\.5 {
    gap: 0.375rem;
}
.gap-2 {
    gap: 0.5rem;
}
.gap-2\.5 {
    gap: 0.625rem;
}
.gap-3 {
    gap: 0.75rem;
}
.gap-4 {
    gap: 1rem;
}
.gap-6 {
    gap: 1.5rem;
}
.gap-8 {
    gap: 2rem;
}
.space-x-3 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(0.75rem * var(--tw-space-x-reverse));
    margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-10 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2.5rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.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));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.space-y-8 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}
.divide-y > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-y-reverse: 0;
    border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-gray-100 > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-opacity: 1;
    border-color: rgb(243 244 246 / var(--tw-divide-opacity, 1));
}
.divide-gray-50 > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-opacity: 1;
    border-color: rgb(249 250 251 / var(--tw-divide-opacity, 1));
}
.overflow-hidden {
    overflow: hidden;
}
.overflow-x-auto {
    overflow-x: auto;
}
.overflow-y-auto {
    overflow-y: auto;
}
.overflow-x-hidden {
    overflow-x: hidden;
}
.overscroll-contain {
    overscroll-behavior: contain;
}
.scroll-smooth {
    scroll-behavior: smooth;
}
.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.whitespace-nowrap {
    white-space: nowrap;
}
.whitespace-pre-wrap {
    white-space: pre-wrap;
}
.break-words {
    overflow-wrap: break-word;
}
.break-all {
    word-break: break-all;
}
.rounded {
    border-radius: 0.25rem;
}
.rounded-2xl {
    border-radius: 1rem;
}
.rounded-3xl {
    border-radius: 1.5rem;
}
.rounded-\[2rem\] {
    border-radius: 2rem;
}
.rounded-full {
    border-radius: 9999px;
}
.rounded-lg {
    border-radius: 0.5rem;
}
.rounded-md {
    border-radius: 0.375rem;
}
.rounded-xl {
    border-radius: 0.75rem;
}
.rounded-l-lg {
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
}
.rounded-r-lg {
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}
.rounded-t-3xl {
    border-top-left-radius: 1.5rem;
    border-top-right-radius: 1.5rem;
}
.rounded-t-sm {
    border-top-left-radius: 0.125rem;
    border-top-right-radius: 0.125rem;
}
.rounded-t-xl {
    border-top-left-radius: 0.75rem;
    border-top-right-radius: 0.75rem;
}
.rounded-bl-lg {
    border-bottom-left-radius: 0.5rem;
}
.rounded-tl-none {
    border-top-left-radius: 0px;
}
.rounded-tl-sm {
    border-top-left-radius: 0.125rem;
}
.rounded-tr-none {
    border-top-right-radius: 0px;
}
.rounded-tr-sm {
    border-top-right-radius: 0.125rem;
}
.border {
    border-width: 1px;
}
.border-0 {
    border-width: 0px;
}
.border-2 {
    border-width: 2px;
}
.border-4 {
    border-width: 4px;
}
.border-b {
    border-bottom-width: 1px;
}
.border-b-2 {
    border-bottom-width: 2px;
}
.border-b-\[3px\] {
    border-bottom-width: 3px;
}
.border-l-2 {
    border-left-width: 2px;
}
.border-l-4 {
    border-left-width: 4px;
}
.border-r {
    border-right-width: 1px;
}
.border-t {
    border-top-width: 1px;
}
.border-dashed {
    border-style: dashed;
}
.border-\[\#3e3e3e\] {
    --tw-border-opacity: 1;
    border-color: rgb(62 62 62 / var(--tw-border-opacity, 1));
}
.border-amber-200 {
    --tw-border-opacity: 1;
    border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}
.border-amber-300 {
    --tw-border-opacity: 1;
    border-color: rgb(252 211 77 / var(--tw-border-opacity, 1));
}
.border-amber-500 {
    --tw-border-opacity: 1;
    border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}
.border-blue-100 {
    --tw-border-opacity: 1;
    border-color: rgb(219 234 254 / var(--tw-border-opacity, 1));
}
.border-blue-200 {
    --tw-border-opacity: 1;
    border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}
.border-blue-300 {
    --tw-border-opacity: 1;
    border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));
}
.border-blue-400 {
    --tw-border-opacity: 1;
    border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}
.border-blue-500 {
    --tw-border-opacity: 1;
    border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.border-blue-600 {
    --tw-border-opacity: 1;
    border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
}
.border-current {
    border-color: currentColor;
}
.border-cyan-100 {
    --tw-border-opacity: 1;
    border-color: rgb(207 250 254 / var(--tw-border-opacity, 1));
}
.border-cyan-200 {
    --tw-border-opacity: 1;
    border-color: rgb(165 243 252 / var(--tw-border-opacity, 1));
}
.border-cyan-400 {
    --tw-border-opacity: 1;
    border-color: rgb(34 211 238 / var(--tw-border-opacity, 1));
}
.border-cyan-500 {
    --tw-border-opacity: 1;
    border-color: rgb(6 182 212 / var(--tw-border-opacity, 1));
}
.border-gray-100 {
    --tw-border-opacity: 1;
    border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
}
.border-gray-100\/50 {
    border-color: rgb(243 244 246 / 0.5);
}
.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));
}
.border-gray-50 {
    --tw-border-opacity: 1;
    border-color: rgb(249 250 251 / var(--tw-border-opacity, 1));
}
.border-gray-500 {
    --tw-border-opacity: 1;
    border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
}
.border-gray-700 {
    --tw-border-opacity: 1;
    border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}
.border-green-100 {
    --tw-border-opacity: 1;
    border-color: rgb(220 252 231 / var(--tw-border-opacity, 1));
}
.border-green-200 {
    --tw-border-opacity: 1;
    border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
}
.border-green-500 {
    --tw-border-opacity: 1;
    border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}
.border-orange-200 {
    --tw-border-opacity: 1;
    border-color: rgb(254 215 170 / var(--tw-border-opacity, 1));
}
.border-orange-400 {
    --tw-border-opacity: 1;
    border-color: rgb(251 146 60 / var(--tw-border-opacity, 1));
}
.border-orange-500 {
    --tw-border-opacity: 1;
    border-color: rgb(249 115 22 / var(--tw-border-opacity, 1));
}
.border-pink-100 {
    --tw-border-opacity: 1;
    border-color: rgb(252 231 243 / var(--tw-border-opacity, 1));
}
.border-pink-200 {
    --tw-border-opacity: 1;
    border-color: rgb(251 207 232 / var(--tw-border-opacity, 1));
}
.border-pink-300 {
    --tw-border-opacity: 1;
    border-color: rgb(249 168 212 / var(--tw-border-opacity, 1));
}
.border-pink-400 {
    --tw-border-opacity: 1;
    border-color: rgb(244 114 182 / var(--tw-border-opacity, 1));
}
.border-pink-500 {
    --tw-border-opacity: 1;
    border-color: rgb(236 72 153 / var(--tw-border-opacity, 1));
}
.border-purple-100 {
    --tw-border-opacity: 1;
    border-color: rgb(243 232 255 / var(--tw-border-opacity, 1));
}
.border-purple-200 {
    --tw-border-opacity: 1;
    border-color: rgb(233 213 255 / var(--tw-border-opacity, 1));
}
.border-purple-300 {
    --tw-border-opacity: 1;
    border-color: rgb(216 180 254 / var(--tw-border-opacity, 1));
}
.border-purple-400 {
    --tw-border-opacity: 1;
    border-color: rgb(192 132 252 / var(--tw-border-opacity, 1));
}
.border-purple-500 {
    --tw-border-opacity: 1;
    border-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}
.border-purple-500\/30 {
    border-color: rgb(168 85 247 / 0.3);
}
.border-purple-500\/50 {
    border-color: rgb(168 85 247 / 0.5);
}
.border-red-100 {
    --tw-border-opacity: 1;
    border-color: rgb(254 226 226 / var(--tw-border-opacity, 1));
}
.border-red-200 {
    --tw-border-opacity: 1;
    border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}
.border-red-300 {
    --tw-border-opacity: 1;
    border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));
}
.border-red-400 {
    --tw-border-opacity: 1;
    border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}
.border-red-500 {
    --tw-border-opacity: 1;
    border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}
.border-red-800 {
    --tw-border-opacity: 1;
    border-color: rgb(153 27 27 / var(--tw-border-opacity, 1));
}
.border-transparent {
    border-color: transparent;
}
.border-white {
    --tw-border-opacity: 1;
    border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.border-white\/10 {
    border-color: rgb(255 255 255 / 0.1);
}
.border-white\/20 {
    border-color: rgb(255 255 255 / 0.2);
}
.border-white\/30 {
    border-color: rgb(255 255 255 / 0.3);
}
.border-yellow-100 {
    --tw-border-opacity: 1;
    border-color: rgb(254 249 195 / var(--tw-border-opacity, 1));
}
.border-yellow-200 {
    --tw-border-opacity: 1;
    border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
}
.border-yellow-300 {
    --tw-border-opacity: 1;
    border-color: rgb(253 224 71 / var(--tw-border-opacity, 1));
}
.border-yellow-400 {
    --tw-border-opacity: 1;
    border-color: rgb(250 204 21 / var(--tw-border-opacity, 1));
}
.border-yellow-500 {
    --tw-border-opacity: 1;
    border-color: rgb(234 179 8 / var(--tw-border-opacity, 1));
}
.border-yellow-800 {
    --tw-border-opacity: 1;
    border-color: rgb(133 77 14 / var(--tw-border-opacity, 1));
}
.bg-\[\#1e1e1e\] {
    --tw-bg-opacity: 1;
    background-color: rgb(30 30 30 / var(--tw-bg-opacity, 1));
}
.bg-\[\#2d2d2d\] {
    --tw-bg-opacity: 1;
    background-color: rgb(45 45 45 / var(--tw-bg-opacity, 1));
}
.bg-\[\#3e3e3e\] {
    --tw-bg-opacity: 1;
    background-color: rgb(62 62 62 / var(--tw-bg-opacity, 1));
}
.bg-amber-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}
.bg-amber-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}
.bg-amber-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-black {
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.bg-black\/10 {
    background-color: rgb(0 0 0 / 0.1);
}
.bg-black\/20 {
    background-color: rgb(0 0 0 / 0.2);
}
.bg-black\/30 {
    background-color: rgb(0 0 0 / 0.3);
}
.bg-black\/40 {
    background-color: rgb(0 0 0 / 0.4);
}
.bg-black\/50 {
    background-color: rgb(0 0 0 / 0.5);
}
.bg-black\/60 {
    background-color: rgb(0 0 0 / 0.6);
}
.bg-black\/70 {
    background-color: rgb(0 0 0 / 0.7);
}
.bg-black\/80 {
    background-color: rgb(0 0 0 / 0.8);
}
.bg-black\/90 {
    background-color: rgb(0 0 0 / 0.9);
}
.bg-blue-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-200 {
    --tw-bg-opacity: 1;
    background-color: rgb(191 219 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-400 {
    --tw-bg-opacity: 1;
    background-color: rgb(96 165 250 / var(--tw-bg-opacity, 1));
}
.bg-blue-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.bg-blue-50\/80 {
    background-color: rgb(239 246 255 / 0.8);
}
.bg-blue-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
}
.bg-blue-500\/20 {
    background-color: rgb(59 130 246 / 0.2);
}
.bg-blue-500\/80 {
    background-color: rgb(59 130 246 / 0.8);
}
.bg-blue-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}
.bg-blue-600\/90 {
    background-color: rgb(37 99 235 / 0.9);
}
.bg-cyan-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1));
}
.bg-cyan-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1));
}
.bg-cyan-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(8 145 178 / var(--tw-bg-opacity, 1));
}
.bg-emerald-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}
.bg-emerald-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}
.bg-emerald-500\/20 {
    background-color: rgb(16 185 129 / 0.2);
}
.bg-emerald-500\/30 {
    background-color: rgb(16 185 129 / 0.3);
}
.bg-gray-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-gray-100\/80 {
    background-color: rgb(243 244 246 / 0.8);
}
.bg-gray-200 {
    --tw-bg-opacity: 1;
    background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.bg-gray-200\/50 {
    background-color: rgb(229 231 235 / 0.5);
}
.bg-gray-200\/90 {
    background-color: rgb(229 231 235 / 0.9);
}
.bg-gray-300 {
    --tw-bg-opacity: 1;
    background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}
.bg-gray-400 {
    --tw-bg-opacity: 1;
    background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}
.bg-gray-400\/60 {
    background-color: rgb(156 163 175 / 0.6);
}
.bg-gray-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.bg-gray-50\/30 {
    background-color: rgb(249 250 251 / 0.3);
}
.bg-gray-50\/50 {
    background-color: rgb(249 250 251 / 0.5);
}
.bg-gray-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}
.bg-gray-500\/30 {
    background-color: rgb(107 114 128 / 0.3);
}
.bg-gray-500\/50 {
    background-color: rgb(107 114 128 / 0.5);
}
.bg-gray-900 {
    --tw-bg-opacity: 1;
    background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}
.bg-gray-900\/60 {
    background-color: rgb(17 24 39 / 0.6);
}
.bg-gray-900\/95 {
    background-color: rgb(17 24 39 / 0.95);
}
.bg-green-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.bg-green-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.bg-green-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.bg-green-500\/80 {
    background-color: rgb(34 197 94 / 0.8);
}
.bg-green-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}
.bg-indigo-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
}
.bg-indigo-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}
.bg-indigo-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}
.bg-orange-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}
.bg-orange-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}
.bg-orange-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));
}
.bg-orange-500\/30 {
    background-color: rgb(249 115 22 / 0.3);
}
.bg-orange-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));
}
.bg-orange-900\/10 {
    background-color: rgb(124 45 18 / 0.1);
}
.bg-pink-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1));
}
.bg-pink-200 {
    --tw-bg-opacity: 1;
    background-color: rgb(251 207 232 / var(--tw-bg-opacity, 1));
}
.bg-pink-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(253 242 248 / var(--tw-bg-opacity, 1));
}
.bg-pink-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(236 72 153 / var(--tw-bg-opacity, 1));
}
.bg-pink-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(219 39 119 / var(--tw-bg-opacity, 1));
}
.bg-purple-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}
.bg-purple-200 {
    --tw-bg-opacity: 1;
    background-color: rgb(233 213 255 / var(--tw-bg-opacity, 1));
}
.bg-purple-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(250 245 255 / var(--tw-bg-opacity, 1));
}
.bg-purple-50\/50 {
    background-color: rgb(250 245 255 / 0.5);
}
.bg-purple-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1));
}
.bg-purple-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1));
}
.bg-purple-900\/20 {
    background-color: rgb(88 28 135 / 0.2);
}
.bg-red-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.bg-red-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.bg-red-50\/90 {
    background-color: rgb(254 242 242 / 0.9);
}
.bg-red-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-red-500\/30 {
    background-color: rgb(239 68 68 / 0.3);
}
.bg-red-500\/50 {
    background-color: rgb(239 68 68 / 0.5);
}
.bg-red-500\/80 {
    background-color: rgb(239 68 68 / 0.8);
}
.bg-red-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
.bg-teal-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(240 253 250 / var(--tw-bg-opacity, 1));
}
.bg-teal-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(20 184 166 / var(--tw-bg-opacity, 1));
}
.bg-transparent {
    background-color: transparent;
}
.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/10 {
    background-color: rgb(255 255 255 / 0.1);
}
.bg-white\/20 {
    background-color: rgb(255 255 255 / 0.2);
}
.bg-white\/30 {
    background-color: rgb(255 255 255 / 0.3);
}
.bg-white\/40 {
    background-color: rgb(255 255 255 / 0.4);
}
.bg-white\/5 {
    background-color: rgb(255 255 255 / 0.05);
}
.bg-white\/50 {
    background-color: rgb(255 255 255 / 0.5);
}
.bg-white\/60 {
    background-color: rgb(255 255 255 / 0.6);
}
.bg-white\/70 {
    background-color: rgb(255 255 255 / 0.7);
}
.bg-white\/80 {
    background-color: rgb(255 255 255 / 0.8);
}
.bg-white\/90 {
    background-color: rgb(255 255 255 / 0.9);
}
.bg-white\/95 {
    background-color: rgb(255 255 255 / 0.95);
}
.bg-yellow-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}
.bg-yellow-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}
.bg-yellow-50\/30 {
    background-color: rgb(254 252 232 / 0.3);
}
.bg-yellow-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));
}
.bg-yellow-500\/30 {
    background-color: rgb(234 179 8 / 0.3);
}
.bg-opacity-90 {
    --tw-bg-opacity: 0.9;
}
.bg-opacity-95 {
    --tw-bg-opacity: 0.95;
}
.bg-gradient-to-b {
    background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-br {
    background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-r {
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.bg-gradient-to-t {
    background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
.bg-gradient-to-tr {
    background-image: linear-gradient(to top right, var(--tw-gradient-stops));
}
.from-amber-500 {
    --tw-gradient-from: #f59e0b var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-black {
    --tw-gradient-from: #000 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-black\/10 {
    --tw-gradient-from: rgb(0 0 0 / 0.1) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-black\/80 {
    --tw-gradient-from: rgb(0 0 0 / 0.8) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-black\/90 {
    --tw-gradient-from: rgb(0 0 0 / 0.9) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-400 {
    --tw-gradient-from: #60a5fa var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-50 {
    --tw-gradient-from: #eff6ff var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-500 {
    --tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-600 {
    --tw-gradient-from: #2563eb var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-50 {
    --tw-gradient-from: #ecfeff var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(236 254 255 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-500 {
    --tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500 {
    --tw-gradient-from: #10b981 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-100 {
    --tw-gradient-from: #f3f4f6 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(243 244 246 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-200 {
    --tw-gradient-from: #e5e7eb var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(229 231 235 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-300 {
    --tw-gradient-from: #d1d5db var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(209 213 219 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-50 {
    --tw-gradient-from: #f9fafb var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(249 250 251 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-500 {
    --tw-gradient-from: #6b7280 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(107 114 128 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-400 {
    --tw-gradient-from: #4ade80 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(74 222 128 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-50 {
    --tw-gradient-from: #f0fdf4 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(240 253 244 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-500 {
    --tw-gradient-from: #22c55e var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-400 {
    --tw-gradient-from: #818cf8 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(129 140 248 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-50 {
    --tw-gradient-from: #eef2ff var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(238 242 255 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-400 {
    --tw-gradient-from: #fb923c var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(251 146 60 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-50 {
    --tw-gradient-from: #fff7ed var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(255 247 237 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-400 {
    --tw-gradient-from: #f472b6 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(244 114 182 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-50 {
    --tw-gradient-from: #fdf2f8 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(253 242 248 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-500 {
    --tw-gradient-from: #ec4899 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(236 72 153 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-900\/30 {
    --tw-gradient-from: rgb(131 24 67 / 0.3) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(131 24 67 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-900\/90 {
    --tw-gradient-from: rgb(131 24 67 / 0.9) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(131 24 67 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-400 {
    --tw-gradient-from: #c084fc var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(192 132 252 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-50 {
    --tw-gradient-from: #faf5ff var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(250 245 255 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-500 {
    --tw-gradient-from: #a855f7 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-600 {
    --tw-gradient-from: #9333ea var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-50 {
    --tw-gradient-from: #fef2f2 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(254 242 242 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-600 {
    --tw-gradient-from: #dc2626 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(220 38 38 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-teal-50 {
    --tw-gradient-from: #f0fdfa var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(240 253 250 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-white {
    --tw-gradient-from: #fff var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-yellow-400 {
    --tw-gradient-from: #facc15 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(250 204 21 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-yellow-50 {
    --tw-gradient-from: #fefce8 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(254 252 232 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-yellow-500 {
    --tw-gradient-from: #eab308 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(234 179 8 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-yellow-900\/30 {
    --tw-gradient-from: rgb(113 63 18 / 0.3) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(113 63 18 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-yellow-900\/90 {
    --tw-gradient-from: rgb(113 63 18 / 0.9) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(113 63 18 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-black\/20 {
    --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-black\/40 {
    --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-indigo-600 {
    --tw-gradient-to: rgb(79 70 229 / 0)  var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), #4f46e5 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white {
    --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), #fff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-blue-50 {
    --tw-gradient-to: #eff6ff var(--tw-gradient-to-position);
}
.to-blue-500 {
    --tw-gradient-to: #3b82f6 var(--tw-gradient-to-position);
}
.to-blue-600 {
    --tw-gradient-to: #2563eb var(--tw-gradient-to-position);
}
.to-blue-700 {
    --tw-gradient-to: #1d4ed8 var(--tw-gradient-to-position);
}
.to-cyan-50 {
    --tw-gradient-to: #ecfeff var(--tw-gradient-to-position);
}
.to-cyan-500 {
    --tw-gradient-to: #06b6d4 var(--tw-gradient-to-position);
}
.to-emerald-500 {
    --tw-gradient-to: #10b981 var(--tw-gradient-to-position);
}
.to-emerald-600 {
    --tw-gradient-to: #059669 var(--tw-gradient-to-position);
}
.to-gray-100 {
    --tw-gradient-to: #f3f4f6 var(--tw-gradient-to-position);
}
.to-gray-200 {
    --tw-gradient-to: #e5e7eb var(--tw-gradient-to-position);
}
.to-gray-500 {
    --tw-gradient-to: #6b7280 var(--tw-gradient-to-position);
}
.to-gray-600 {
    --tw-gradient-to: #4b5563 var(--tw-gradient-to-position);
}
.to-gray-900\/95 {
    --tw-gradient-to: rgb(17 24 39 / 0.95) var(--tw-gradient-to-position);
}
.to-indigo-50 {
    --tw-gradient-to: #eef2ff var(--tw-gradient-to-position);
}
.to-indigo-600 {
    --tw-gradient-to: #4f46e5 var(--tw-gradient-to-position);
}
.to-orange-50 {
    --tw-gradient-to: #fff7ed var(--tw-gradient-to-position);
}
.to-orange-500 {
    --tw-gradient-to: #f97316 var(--tw-gradient-to-position);
}
.to-orange-600 {
    --tw-gradient-to: #ea580c var(--tw-gradient-to-position);
}
.to-pink-50 {
    --tw-gradient-to: #fdf2f8 var(--tw-gradient-to-position);
}
.to-pink-500 {
    --tw-gradient-to: #ec4899 var(--tw-gradient-to-position);
}
.to-pink-600 {
    --tw-gradient-to: #db2777 var(--tw-gradient-to-position);
}
.to-purple-50 {
    --tw-gradient-to: #faf5ff var(--tw-gradient-to-position);
}
.to-purple-500 {
    --tw-gradient-to: #a855f7 var(--tw-gradient-to-position);
}
.to-purple-600 {
    --tw-gradient-to: #9333ea var(--tw-gradient-to-position);
}
.to-rose-500 {
    --tw-gradient-to: #f43f5e var(--tw-gradient-to-position);
}
.to-teal-50 {
    --tw-gradient-to: #f0fdfa var(--tw-gradient-to-position);
}
.to-teal-500 {
    --tw-gradient-to: #14b8a6 var(--tw-gradient-to-position);
}
.to-teal-600 {
    --tw-gradient-to: #0d9488 var(--tw-gradient-to-position);
}
.to-transparent {
    --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.to-yellow-50 {
    --tw-gradient-to: #fefce8 var(--tw-gradient-to-position);
}
.to-yellow-600 {
    --tw-gradient-to: #ca8a04 var(--tw-gradient-to-position);
}
.bg-cover {
    background-size: cover;
}
.bg-clip-text {
    -webkit-background-clip: text;
            background-clip: text;
}
.bg-center {
    background-position: center;
}
.object-contain {
    -o-object-fit: contain;
       object-fit: contain;
}
.object-cover {
    -o-object-fit: cover;
       object-fit: cover;
}
.p-0 {
    padding: 0px;
}
.p-0\.5 {
    padding: 0.125rem;
}
.p-1 {
    padding: 0.25rem;
}
.p-1\.5 {
    padding: 0.375rem;
}
.p-10 {
    padding: 2.5rem;
}
.p-12 {
    padding: 3rem;
}
.p-2 {
    padding: 0.5rem;
}
.p-2\.5 {
    padding: 0.625rem;
}
.p-3 {
    padding: 0.75rem;
}
.p-4 {
    padding: 1rem;
}
.p-5 {
    padding: 1.25rem;
}
.p-6 {
    padding: 1.5rem;
}
.p-8 {
    padding: 2rem;
}
.px-1 {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}
.px-1\.5 {
    padding-left: 0.375rem;
    padding-right: 0.375rem;
}
.px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
}
.px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
.px-2\.5 {
    padding-left: 0.625rem;
    padding-right: 0.625rem;
}
.px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}
.px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
}
.px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}
.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
}
.py-0\.5 {
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
}
.py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}
.py-1\.5 {
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
}
.py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}
.py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
}
.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.py-2\.5 {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
}
.py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
}
.py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}
.py-3\.5 {
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
}
.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.py-5 {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
}
.py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
.py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem;
}
.pb-0 {
    padding-bottom: 0px;
}
.pb-0\.5 {
    padding-bottom: 0.125rem;
}
.pb-10 {
    padding-bottom: 2.5rem;
}
.pb-16 {
    padding-bottom: 4rem;
}
.pb-2 {
    padding-bottom: 0.5rem;
}
.pb-20 {
    padding-bottom: 5rem;
}
.pb-24 {
    padding-bottom: 6rem;
}
.pb-3 {
    padding-bottom: 0.75rem;
}
.pb-32 {
    padding-bottom: 8rem;
}
.pb-4 {
    padding-bottom: 1rem;
}
.pb-6 {
    padding-bottom: 1.5rem;
}
.pl-1 {
    padding-left: 0.25rem;
}
.pl-10 {
    padding-left: 2.5rem;
}
.pl-11 {
    padding-left: 2.75rem;
}
.pl-14 {
    padding-left: 3.5rem;
}
.pl-2 {
    padding-left: 0.5rem;
}
.pl-3 {
    padding-left: 0.75rem;
}
.pl-3\.5 {
    padding-left: 0.875rem;
}
.pl-36 {
    padding-left: 9rem;
}
.pl-4 {
    padding-left: 1rem;
}
.pl-6 {
    padding-left: 1.5rem;
}
.pl-8 {
    padding-left: 2rem;
}
.pl-9 {
    padding-left: 2.25rem;
}
.pr-1 {
    padding-right: 0.25rem;
}
.pr-12 {
    padding-right: 3rem;
}
.pr-14 {
    padding-right: 3.5rem;
}
.pr-16 {
    padding-right: 4rem;
}
.pr-2 {
    padding-right: 0.5rem;
}
.pr-3 {
    padding-right: 0.75rem;
}
.pr-4 {
    padding-right: 1rem;
}
.pr-6 {
    padding-right: 1.5rem;
}
.pt-1 {
    padding-top: 0.25rem;
}
.pt-12 {
    padding-top: 3rem;
}
.pt-2 {
    padding-top: 0.5rem;
}
.pt-24 {
    padding-top: 6rem;
}
.pt-3 {
    padding-top: 0.75rem;
}
.pt-4 {
    padding-top: 1rem;
}
.text-left {
    text-align: left;
}
.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}
.font-mono {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.font-sans {
    font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
}
.text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
}
.text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
}
.text-5xl {
    font-size: 3rem;
    line-height: 1;
}
.text-6xl {
    font-size: 3.75rem;
    line-height: 1;
}
.text-8xl {
    font-size: 6rem;
    line-height: 1;
}
.text-9xl {
    font-size: 8rem;
    line-height: 1;
}
.text-\[10px\] {
    font-size: 10px;
}
.text-\[11px\] {
    font-size: 11px;
}
.text-\[15px\] {
    font-size: 15px;
}
.text-\[17px\] {
    font-size: 17px;
}
.text-\[6px\] {
    font-size: 6px;
}
.text-\[8px\] {
    font-size: 8px;
}
.text-base {
    font-size: 1rem;
    line-height: 1.5rem;
}
.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
}
.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
}
.text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
}
.font-black {
    font-weight: 900;
}
.font-bold {
    font-weight: 700;
}
.font-extrabold {
    font-weight: 800;
}
.font-light {
    font-weight: 300;
}
.font-medium {
    font-weight: 500;
}
.font-normal {
    font-weight: 400;
}
.font-semibold {
    font-weight: 600;
}
.uppercase {
    text-transform: uppercase;
}
.capitalize {
    text-transform: capitalize;
}
.normal-case {
    text-transform: none;
}
.italic {
    font-style: italic;
}
.leading-none {
    line-height: 1;
}
.leading-relaxed {
    line-height: 1.625;
}
.leading-tight {
    line-height: 1.25;
}
.tracking-tight {
    letter-spacing: -0.025em;
}
.tracking-tighter {
    letter-spacing: -0.05em;
}
.tracking-wide {
    letter-spacing: 0.025em;
}
.tracking-wider {
    letter-spacing: 0.05em;
}
.tracking-widest {
    letter-spacing: 0.1em;
}
.text-amber-300 {
    --tw-text-opacity: 1;
    color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}
.text-amber-400 {
    --tw-text-opacity: 1;
    color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.text-amber-500 {
    --tw-text-opacity: 1;
    color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.text-amber-600 {
    --tw-text-opacity: 1;
    color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.text-amber-700 {
    --tw-text-opacity: 1;
    color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.text-amber-800 {
    --tw-text-opacity: 1;
    color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}
.text-amber-900 {
    --tw-text-opacity: 1;
    color: rgb(120 53 15 / var(--tw-text-opacity, 1));
}
.text-black {
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.text-blue-100 {
    --tw-text-opacity: 1;
    color: rgb(219 234 254 / var(--tw-text-opacity, 1));
}
.text-blue-300 {
    --tw-text-opacity: 1;
    color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}
.text-blue-400 {
    --tw-text-opacity: 1;
    color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.text-blue-500 {
    --tw-text-opacity: 1;
    color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}
.text-blue-600 {
    --tw-text-opacity: 1;
    color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.text-blue-700 {
    --tw-text-opacity: 1;
    color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}
.text-blue-800 {
    --tw-text-opacity: 1;
    color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}
.text-cyan-500 {
    --tw-text-opacity: 1;
    color: rgb(6 182 212 / var(--tw-text-opacity, 1));
}
.text-cyan-600 {
    --tw-text-opacity: 1;
    color: rgb(8 145 178 / var(--tw-text-opacity, 1));
}
.text-cyan-700 {
    --tw-text-opacity: 1;
    color: rgb(14 116 144 / var(--tw-text-opacity, 1));
}
.text-emerald-300 {
    --tw-text-opacity: 1;
    color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}
.text-emerald-500 {
    --tw-text-opacity: 1;
    color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}
.text-emerald-600 {
    --tw-text-opacity: 1;
    color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}
.text-gray-200 {
    --tw-text-opacity: 1;
    color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}
.text-gray-300 {
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.text-gray-300\/80 {
    color: rgb(209 213 219 / 0.8);
}
.text-gray-400 {
    --tw-text-opacity: 1;
    color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.text-gray-400\/60 {
    color: rgb(156 163 175 / 0.6);
}
.text-gray-500 {
    --tw-text-opacity: 1;
    color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-gray-500\/80 {
    color: rgb(107 114 128 / 0.8);
}
.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-800 {
    --tw-text-opacity: 1;
    color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}
.text-gray-900 {
    --tw-text-opacity: 1;
    color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.text-green-400 {
    --tw-text-opacity: 1;
    color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.text-green-500 {
    --tw-text-opacity: 1;
    color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.text-green-600 {
    --tw-text-opacity: 1;
    color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}
.text-green-700 {
    --tw-text-opacity: 1;
    color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.text-green-800 {
    --tw-text-opacity: 1;
    color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}
.text-indigo-400 {
    --tw-text-opacity: 1;
    color: rgb(129 140 248 / var(--tw-text-opacity, 1));
}
.text-indigo-500 {
    --tw-text-opacity: 1;
    color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}
.text-indigo-600 {
    --tw-text-opacity: 1;
    color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}
.text-orange-300 {
    --tw-text-opacity: 1;
    color: rgb(253 186 116 / var(--tw-text-opacity, 1));
}
.text-orange-400 {
    --tw-text-opacity: 1;
    color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}
.text-orange-500 {
    --tw-text-opacity: 1;
    color: rgb(249 115 22 / var(--tw-text-opacity, 1));
}
.text-orange-600 {
    --tw-text-opacity: 1;
    color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}
.text-orange-700 {
    --tw-text-opacity: 1;
    color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}
.text-orange-800 {
    --tw-text-opacity: 1;
    color: rgb(154 52 18 / var(--tw-text-opacity, 1));
}
.text-pink-100 {
    --tw-text-opacity: 1;
    color: rgb(252 231 243 / var(--tw-text-opacity, 1));
}
.text-pink-300\/70 {
    color: rgb(249 168 212 / 0.7);
}
.text-pink-500 {
    --tw-text-opacity: 1;
    color: rgb(236 72 153 / var(--tw-text-opacity, 1));
}
.text-pink-600 {
    --tw-text-opacity: 1;
    color: rgb(219 39 119 / var(--tw-text-opacity, 1));
}
.text-pink-700 {
    --tw-text-opacity: 1;
    color: rgb(190 24 93 / var(--tw-text-opacity, 1));
}
.text-purple-300 {
    --tw-text-opacity: 1;
    color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}
.text-purple-400 {
    --tw-text-opacity: 1;
    color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}
.text-purple-500 {
    --tw-text-opacity: 1;
    color: rgb(168 85 247 / var(--tw-text-opacity, 1));
}
.text-purple-600 {
    --tw-text-opacity: 1;
    color: rgb(147 51 234 / var(--tw-text-opacity, 1));
}
.text-purple-700 {
    --tw-text-opacity: 1;
    color: rgb(126 34 206 / var(--tw-text-opacity, 1));
}
.text-red-300 {
    --tw-text-opacity: 1;
    color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.text-red-400 {
    --tw-text-opacity: 1;
    color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.text-red-500 {
    --tw-text-opacity: 1;
    color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-600 {
    --tw-text-opacity: 1;
    color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-red-700 {
    --tw-text-opacity: 1;
    color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-teal-600 {
    --tw-text-opacity: 1;
    color: rgb(13 148 136 / var(--tw-text-opacity, 1));
}
.text-transparent {
    color: transparent;
}
.text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/70 {
    color: rgb(255 255 255 / 0.7);
}
.text-white\/80 {
    color: rgb(255 255 255 / 0.8);
}
.text-yellow-300 {
    --tw-text-opacity: 1;
    color: rgb(253 224 71 / var(--tw-text-opacity, 1));
}
.text-yellow-300\/80 {
    color: rgb(253 224 71 / 0.8);
}
.text-yellow-400 {
    --tw-text-opacity: 1;
    color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}
.text-yellow-500 {
    --tw-text-opacity: 1;
    color: rgb(234 179 8 / var(--tw-text-opacity, 1));
}
.text-yellow-600 {
    --tw-text-opacity: 1;
    color: rgb(202 138 4 / var(--tw-text-opacity, 1));
}
.text-yellow-600\/80 {
    color: rgb(202 138 4 / 0.8);
}
.text-yellow-700 {
    --tw-text-opacity: 1;
    color: rgb(161 98 7 / var(--tw-text-opacity, 1));
}
.text-yellow-800 {
    --tw-text-opacity: 1;
    color: rgb(133 77 14 / var(--tw-text-opacity, 1));
}
.underline {
    text-decoration-line: underline;
}
.line-through {
    text-decoration-line: line-through;
}
.underline-offset-4 {
    text-underline-offset: 4px;
}
.antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.placeholder-blue-300::-moz-placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(147 197 253 / var(--tw-placeholder-opacity, 1));
}
.placeholder-blue-300::placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(147 197 253 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-300::-moz-placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(209 213 219 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-300::placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(209 213 219 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-400::-moz-placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-400::placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-600::-moz-placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(75 85 99 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-600::placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(75 85 99 / var(--tw-placeholder-opacity, 1));
}
.accent-blue-600 {
    accent-color: #2563eb;
}
.accent-green-600 {
    accent-color: #16a34a;
}
.accent-purple-600 {
    accent-color: #9333ea;
}
.accent-red-500 {
    accent-color: #ef4444;
}
.opacity-0 {
    opacity: 0;
}
.opacity-10 {
    opacity: 0.1;
}
.opacity-20 {
    opacity: 0.2;
}
.opacity-30 {
    opacity: 0.3;
}
.opacity-40 {
    opacity: 0.4;
}
.opacity-50 {
    opacity: 0.5;
}
.opacity-60 {
    opacity: 0.6;
}
.opacity-70 {
    opacity: 0.7;
}
.opacity-75 {
    opacity: 0.75;
}
.opacity-80 {
    opacity: 0.8;
}
.shadow {
    --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-2xl {
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_-2px_10px_rgba\(0\2c 0\2c 0\2c 0\.05\)\] {
    --tw-shadow: 0 -2px 10px rgba(0,0,0,0.05);
    --tw-shadow-colored: 0 -2px 10px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_-5px_15px_rgba\(0\2c 0\2c 0\2c 0\.1\)\] {
    --tw-shadow: 0 -5px 15px rgba(0,0,0,0.1);
    --tw-shadow-colored: 0 -5px 15px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_-5px_20px_-5px_rgba\(0\2c 0\2c 0\2c 0\.05\)\] {
    --tw-shadow: 0 -5px 20px -5px rgba(0,0,0,0.05);
    --tw-shadow-colored: 0 -5px 20px -5px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-inner {
    --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg {
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md {
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm {
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-xl {
    --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-black {
    --tw-shadow-color: #000;
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-blue-200 {
    --tw-shadow-color: #bfdbfe;
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-blue-500\/20 {
    --tw-shadow-color: rgb(59 130 246 / 0.2);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-blue-500\/25 {
    --tw-shadow-color: rgb(59 130 246 / 0.25);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-blue-500\/30 {
    --tw-shadow-color: rgb(59 130 246 / 0.3);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-blue-900\/10 {
    --tw-shadow-color: rgb(30 58 138 / 0.1);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-gray-200 {
    --tw-shadow-color: #e5e7eb;
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-green-200 {
    --tw-shadow-color: #bbf7d0;
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-green-500\/20 {
    --tw-shadow-color: rgb(34 197 94 / 0.2);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-green-500\/30 {
    --tw-shadow-color: rgb(34 197 94 / 0.3);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-indigo-200 {
    --tw-shadow-color: #c7d2fe;
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-indigo-500\/20 {
    --tw-shadow-color: rgb(99 102 241 / 0.2);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-orange-200 {
    --tw-shadow-color: #fed7aa;
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-orange-500\/20 {
    --tw-shadow-color: rgb(249 115 22 / 0.2);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-pink-500\/20 {
    --tw-shadow-color: rgb(236 72 153 / 0.2);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-pink-500\/30 {
    --tw-shadow-color: rgb(236 72 153 / 0.3);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-purple-200 {
    --tw-shadow-color: #e9d5ff;
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-purple-500\/30 {
    --tw-shadow-color: rgb(168 85 247 / 0.3);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-yellow-100 {
    --tw-shadow-color: #fef9c3;
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-yellow-200 {
    --tw-shadow-color: #fef08a;
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-yellow-500\/20 {
    --tw-shadow-color: rgb(234 179 8 / 0.2);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-yellow-500\/30 {
    --tw-shadow-color: rgb(234 179 8 / 0.3);
    --tw-shadow: var(--tw-shadow-colored);
}
.outline-none {
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.ring {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-1 {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-2 {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-black\/5 {
    --tw-ring-color: rgb(0 0 0 / 0.05);
}
.ring-blue-100 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(219 234 254 / var(--tw-ring-opacity, 1));
}
.ring-blue-200 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(191 219 254 / var(--tw-ring-opacity, 1));
}
.ring-red-500 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1));
}
.ring-white\/10 {
    --tw-ring-color: rgb(255 255 255 / 0.1);
}
.blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-2xl {
    --tw-blur: blur(40px);
    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);
}
.blur-3xl {
    --tw-blur: blur(64px);
    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);
}
.blur-lg {
    --tw-blur: blur(16px);
    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);
}
.blur-xl {
    --tw-blur: blur(24px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow {
    --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-2xl {
    --tw-drop-shadow: drop-shadow(0 25px 25px rgb(0 0 0 / 0.15));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-lg {
    --tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / 0.04)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-md {
    --tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-sm {
    --tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / 0.05));
    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);
}
.grayscale {
    --tw-grayscale: grayscale(100%);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur {
    --tw-backdrop-blur: blur(8px);
    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-blur-md {
    --tw-backdrop-blur: blur(12px);
    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-blur-sm {
    --tw-backdrop-blur: blur(4px);
    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);
}
.transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-\[top\] {
    transition-property: top;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-opacity {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-shadow {
    transition-property: box-shadow;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-transform {
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.duration-200 {
    transition-duration: 200ms;
}
.duration-300 {
    transition-duration: 300ms;
}
.duration-500 {
    transition-duration: 500ms;
}
.duration-700 {
    transition-duration: 700ms;
}
.duration-\[10s\] {
    transition-duration: 10s;
}
.ease-in-out {
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-linear {
    transition-timing-function: linear;
}
.ease-out {
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.after\:absolute::after {
    content: var(--tw-content);
    position: absolute;
}
.after\:left-\[2px\]::after {
    content: var(--tw-content);
    left: 2px;
}
.after\:top-\[2px\]::after {
    content: var(--tw-content);
    top: 2px;
}
.after\:h-4::after {
    content: var(--tw-content);
    height: 1rem;
}
.after\:h-5::after {
    content: var(--tw-content);
    height: 1.25rem;
}
.after\:w-4::after {
    content: var(--tw-content);
    width: 1rem;
}
.after\:w-5::after {
    content: var(--tw-content);
    width: 1.25rem;
}
.after\:rounded-full::after {
    content: var(--tw-content);
    border-radius: 9999px;
}
.after\:border::after {
    content: var(--tw-content);
    border-width: 1px;
}
.after\:border-gray-300::after {
    content: var(--tw-content);
    --tw-border-opacity: 1;
    border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.after\:bg-white::after {
    content: var(--tw-content);
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.after\:transition-all::after {
    content: var(--tw-content);
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.after\:content-\[\'\'\]::after {
    --tw-content: '';
    content: var(--tw-content);
}
.first\:mt-0:first-child {
    margin-top: 0px;
}
.last\:border-0:last-child {
    border-width: 0px;
}
.last\:border-b-0:last-child {
    border-bottom-width: 0px;
}
.focus-within\:ring-2:focus-within {
    --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-within\:ring-blue-500:focus-within {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
}
.hover\:-translate-y-0\.5:hover {
    --tw-translate-y: -0.125rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-105:hover {
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-110:hover {
    --tw-scale-x: 1.1;
    --tw-scale-y: 1.1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-\[1\.02\]:hover {
    --tw-scale-x: 1.02;
    --tw-scale-y: 1.02;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:border-amber-300:hover {
    --tw-border-opacity: 1;
    border-color: rgb(252 211 77 / var(--tw-border-opacity, 1));
}
.hover\:border-amber-400:hover {
    --tw-border-opacity: 1;
    border-color: rgb(251 191 36 / var(--tw-border-opacity, 1));
}
.hover\:border-blue-200:hover {
    --tw-border-opacity: 1;
    border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}
.hover\:border-blue-300:hover {
    --tw-border-opacity: 1;
    border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));
}
.hover\:border-blue-400:hover {
    --tw-border-opacity: 1;
    border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}
.hover\:border-blue-500:hover {
    --tw-border-opacity: 1;
    border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.hover\:border-cyan-200:hover {
    --tw-border-opacity: 1;
    border-color: rgb(165 243 252 / var(--tw-border-opacity, 1));
}
.hover\:border-cyan-500:hover {
    --tw-border-opacity: 1;
    border-color: rgb(6 182 212 / var(--tw-border-opacity, 1));
}
.hover\:border-emerald-200:hover {
    --tw-border-opacity: 1;
    border-color: rgb(167 243 208 / var(--tw-border-opacity, 1));
}
.hover\:border-emerald-500:hover {
    --tw-border-opacity: 1;
    border-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
}
.hover\:border-gray-200:hover {
    --tw-border-opacity: 1;
    border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
.hover\:border-gray-300:hover {
    --tw-border-opacity: 1;
    border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.hover\:border-green-300:hover {
    --tw-border-opacity: 1;
    border-color: rgb(134 239 172 / var(--tw-border-opacity, 1));
}
.hover\:border-green-400:hover {
    --tw-border-opacity: 1;
    border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
}
.hover\:border-green-500:hover {
    --tw-border-opacity: 1;
    border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}
.hover\:border-orange-400:hover {
    --tw-border-opacity: 1;
    border-color: rgb(251 146 60 / var(--tw-border-opacity, 1));
}
.hover\:border-pink-300:hover {
    --tw-border-opacity: 1;
    border-color: rgb(249 168 212 / var(--tw-border-opacity, 1));
}
.hover\:border-pink-500:hover {
    --tw-border-opacity: 1;
    border-color: rgb(236 72 153 / var(--tw-border-opacity, 1));
}
.hover\:border-purple-200:hover {
    --tw-border-opacity: 1;
    border-color: rgb(233 213 255 / var(--tw-border-opacity, 1));
}
.hover\:border-purple-300:hover {
    --tw-border-opacity: 1;
    border-color: rgb(216 180 254 / var(--tw-border-opacity, 1));
}
.hover\:border-purple-400:hover {
    --tw-border-opacity: 1;
    border-color: rgb(192 132 252 / var(--tw-border-opacity, 1));
}
.hover\:border-purple-500:hover {
    --tw-border-opacity: 1;
    border-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}
.hover\:border-red-500:hover {
    --tw-border-opacity: 1;
    border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}
.hover\:border-yellow-300:hover {
    --tw-border-opacity: 1;
    border-color: rgb(253 224 71 / var(--tw-border-opacity, 1));
}
.hover\:border-yellow-400:hover {
    --tw-border-opacity: 1;
    border-color: rgb(250 204 21 / var(--tw-border-opacity, 1));
}
.hover\:border-yellow-500:hover {
    --tw-border-opacity: 1;
    border-color: rgb(234 179 8 / var(--tw-border-opacity, 1));
}
.hover\:bg-amber-100:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}
.hover\:bg-black\/40:hover {
    background-color: rgb(0 0 0 / 0.4);
}
.hover\:bg-black\/50:hover {
    background-color: rgb(0 0 0 / 0.5);
}
.hover\:bg-black\/70:hover {
    background-color: rgb(0 0 0 / 0.7);
}
.hover\:bg-blue-100:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.hover\:bg-blue-200:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(191 219 254 / var(--tw-bg-opacity, 1));
}
.hover\:bg-blue-50:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-blue-50\/30:hover {
    background-color: rgb(239 246 255 / 0.3);
}
.hover\:bg-blue-50\/50:hover {
    background-color: rgb(239 246 255 / 0.5);
}
.hover\:bg-blue-600:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}
.hover\:bg-blue-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}
.hover\:bg-cyan-50:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-cyan-50\/30:hover {
    background-color: rgb(236 254 255 / 0.3);
}
.hover\:bg-cyan-600:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(8 145 178 / var(--tw-bg-opacity, 1));
}
.hover\:bg-cyan-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(14 116 144 / var(--tw-bg-opacity, 1));
}
.hover\:bg-emerald-50:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-100:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-200:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-200\/50:hover {
    background-color: rgb(229 231 235 / 0.5);
}
.hover\:bg-gray-300:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-50:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-50\/50:hover {
    background-color: rgb(249 250 251 / 0.5);
}
.hover\:bg-gray-600:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-800:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-200:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(187 247 208 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-50:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-600:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}
.hover\:bg-indigo-50\/30:hover {
    background-color: rgb(238 242 255 / 0.3);
}
.hover\:bg-indigo-600:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}
.hover\:bg-indigo-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(67 56 202 / var(--tw-bg-opacity, 1));
}
.hover\:bg-orange-50:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}
.hover\:bg-orange-50\/30:hover {
    background-color: rgb(255 247 237 / 0.3);
}
.hover\:bg-orange-600:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));
}
.hover\:bg-orange-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(194 65 12 / var(--tw-bg-opacity, 1));
}
.hover\:bg-pink-100:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1));
}
.hover\:bg-pink-50:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(253 242 248 / var(--tw-bg-opacity, 1));
}
.hover\:bg-pink-50\/30:hover {
    background-color: rgb(253 242 248 / 0.3);
}
.hover\:bg-pink-50\/50:hover {
    background-color: rgb(253 242 248 / 0.5);
}
.hover\:bg-pink-600:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(219 39 119 / var(--tw-bg-opacity, 1));
}
.hover\:bg-pink-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(190 24 93 / var(--tw-bg-opacity, 1));
}
.hover\:bg-purple-100:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-purple-200:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(233 213 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-purple-50:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(250 245 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-purple-50\/30:hover {
    background-color: rgb(250 245 255 / 0.3);
}
.hover\:bg-purple-50\/50:hover {
    background-color: rgb(250 245 255 / 0.5);
}
.hover\:bg-purple-500:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1));
}
.hover\:bg-purple-600:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1));
}
.hover\:bg-purple-600\/70:hover {
    background-color: rgb(147 51 234 / 0.7);
}
.hover\:bg-purple-600\/90:hover {
    background-color: rgb(147 51 234 / 0.9);
}
.hover\:bg-purple-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(126 34 206 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-100:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-200:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(254 202 202 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-50:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-500:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-600:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
}
.hover\:bg-teal-600:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(13 148 136 / var(--tw-bg-opacity, 1));
}
.hover\:bg-white:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-white\/20:hover {
    background-color: rgb(255 255 255 / 0.2);
}
.hover\:bg-white\/30:hover {
    background-color: rgb(255 255 255 / 0.3);
}
.hover\:bg-white\/60:hover {
    background-color: rgb(255 255 255 / 0.6);
}
.hover\:bg-yellow-100:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}
.hover\:bg-yellow-200:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(254 240 138 / var(--tw-bg-opacity, 1));
}
.hover\:bg-yellow-50:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}
.hover\:bg-yellow-50\/30:hover {
    background-color: rgb(254 252 232 / 0.3);
}
.hover\:bg-yellow-600:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(202 138 4 / var(--tw-bg-opacity, 1));
}
.hover\:from-amber-600:hover {
    --tw-gradient-from: #d97706 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(217 119 6 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:from-blue-600:hover {
    --tw-gradient-from: #2563eb var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:from-blue-700:hover {
    --tw-gradient-from: #1d4ed8 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(29 78 216 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:from-gray-600:hover {
    --tw-gradient-from: #4b5563 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(75 85 99 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:from-green-600:hover {
    --tw-gradient-from: #16a34a var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(22 163 74 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:from-pink-600:hover {
    --tw-gradient-from: #db2777 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(219 39 119 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:from-purple-600:hover {
    --tw-gradient-from: #9333ea var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:from-purple-700:hover {
    --tw-gradient-from: #7e22ce var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(126 34 206 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:from-yellow-500:hover {
    --tw-gradient-from: #eab308 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(234 179 8 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:to-blue-600:hover {
    --tw-gradient-to: #2563eb var(--tw-gradient-to-position);
}
.hover\:to-blue-700:hover {
    --tw-gradient-to: #1d4ed8 var(--tw-gradient-to-position);
}
.hover\:to-blue-800:hover {
    --tw-gradient-to: #1e40af var(--tw-gradient-to-position);
}
.hover\:to-cyan-600:hover {
    --tw-gradient-to: #0891b2 var(--tw-gradient-to-position);
}
.hover\:to-emerald-700:hover {
    --tw-gradient-to: #047857 var(--tw-gradient-to-position);
}
.hover\:to-gray-700:hover {
    --tw-gradient-to: #374151 var(--tw-gradient-to-position);
}
.hover\:to-orange-600:hover {
    --tw-gradient-to: #ea580c var(--tw-gradient-to-position);
}
.hover\:to-pink-600:hover {
    --tw-gradient-to: #db2777 var(--tw-gradient-to-position);
}
.hover\:to-pink-700:hover {
    --tw-gradient-to: #be185d var(--tw-gradient-to-position);
}
.hover\:to-purple-600:hover {
    --tw-gradient-to: #9333ea var(--tw-gradient-to-position);
}
.hover\:text-amber-700:hover {
    --tw-text-opacity: 1;
    color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.hover\:text-blue-100:hover {
    --tw-text-opacity: 1;
    color: rgb(219 234 254 / var(--tw-text-opacity, 1));
}
.hover\:text-blue-400:hover {
    --tw-text-opacity: 1;
    color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.hover\:text-blue-500:hover {
    --tw-text-opacity: 1;
    color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}
.hover\:text-blue-600:hover {
    --tw-text-opacity: 1;
    color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.hover\:text-blue-800:hover {
    --tw-text-opacity: 1;
    color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}
.hover\:text-gray-300:hover {
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.hover\:text-gray-500:hover {
    --tw-text-opacity: 1;
    color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.hover\:text-gray-600:hover {
    --tw-text-opacity: 1;
    color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.hover\:text-gray-700:hover {
    --tw-text-opacity: 1;
    color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.hover\:text-gray-900:hover {
    --tw-text-opacity: 1;
    color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.hover\:text-green-400:hover {
    --tw-text-opacity: 1;
    color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.hover\:text-green-500:hover {
    --tw-text-opacity: 1;
    color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.hover\:text-green-800:hover {
    --tw-text-opacity: 1;
    color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}
.hover\:text-indigo-500:hover {
    --tw-text-opacity: 1;
    color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}
.hover\:text-orange-500:hover {
    --tw-text-opacity: 1;
    color: rgb(249 115 22 / var(--tw-text-opacity, 1));
}
.hover\:text-pink-600:hover {
    --tw-text-opacity: 1;
    color: rgb(219 39 119 / var(--tw-text-opacity, 1));
}
.hover\:text-purple-500:hover {
    --tw-text-opacity: 1;
    color: rgb(168 85 247 / var(--tw-text-opacity, 1));
}
.hover\:text-purple-600:hover {
    --tw-text-opacity: 1;
    color: rgb(147 51 234 / var(--tw-text-opacity, 1));
}
.hover\:text-purple-700:hover {
    --tw-text-opacity: 1;
    color: rgb(126 34 206 / var(--tw-text-opacity, 1));
}
.hover\:text-purple-800:hover {
    --tw-text-opacity: 1;
    color: rgb(107 33 168 / var(--tw-text-opacity, 1));
}
.hover\:text-red-400:hover {
    --tw-text-opacity: 1;
    color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.hover\:text-red-500:hover {
    --tw-text-opacity: 1;
    color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.hover\:text-red-600:hover {
    --tw-text-opacity: 1;
    color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.hover\:text-red-700:hover {
    --tw-text-opacity: 1;
    color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.hover\:text-teal-600:hover {
    --tw-text-opacity: 1;
    color: rgb(13 148 136 / var(--tw-text-opacity, 1));
}
.hover\:text-white:hover {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:underline:hover {
    text-decoration-line: underline;
}
.hover\:opacity-100:hover {
    opacity: 1;
}
.hover\:opacity-80:hover {
    opacity: 0.8;
}
.hover\:opacity-90:hover {
    opacity: 0.9;
}
.hover\:shadow-lg:hover {
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-md:hover {
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-sm:hover {
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-xl:hover {
    --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);
}
.hover\:shadow-purple-500\/30:hover {
    --tw-shadow-color: rgb(168 85 247 / 0.3);
    --tw-shadow: var(--tw-shadow-colored);
}
.hover\:ring-2:hover {
    --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);
}
.hover\:ring-teal-500:hover {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(20 184 166 / var(--tw-ring-opacity, 1));
}
.hover\:grayscale-0:hover {
    --tw-grayscale: grayscale(0);
    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);
}
.focus\:border-blue-500:focus {
    --tw-border-opacity: 1;
    border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.focus\:border-purple-400:focus {
    --tw-border-opacity: 1;
    border-color: rgb(192 132 252 / var(--tw-border-opacity, 1));
}
.focus\:border-purple-500:focus {
    --tw-border-opacity: 1;
    border-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}
.focus\:border-transparent:focus {
    border-color: transparent;
}
.focus\:bg-white:focus {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.focus\:outline-none:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.focus\:ring-1:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-2:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-blue-500:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
}
.focus\:ring-cyan-500:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(6 182 212 / var(--tw-ring-opacity, 1));
}
.focus\:ring-emerald-500:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(16 185 129 / var(--tw-ring-opacity, 1));
}
.focus\:ring-green-500:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1));
}
.focus\:ring-indigo-500:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1));
}
.focus\:ring-orange-500:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(249 115 22 / var(--tw-ring-opacity, 1));
}
.focus\:ring-pink-500:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(236 72 153 / var(--tw-ring-opacity, 1));
}
.focus\:ring-purple-500:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity, 1));
}
.focus\:ring-red-500:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1));
}
.focus\:ring-teal-500:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(20 184 166 / var(--tw-ring-opacity, 1));
}
.focus\:ring-yellow-500:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(234 179 8 / var(--tw-ring-opacity, 1));
}
.active\:scale-95:active {
    --tw-scale-x: .95;
    --tw-scale-y: .95;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-\[0\.98\]:active {
    --tw-scale-x: 0.98;
    --tw-scale-y: 0.98;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:cursor-grabbing:active {
    cursor: grabbing;
}
.active\:bg-blue-100:active {
    --tw-bg-opacity: 1;
    background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.active\:bg-gray-100:active {
    --tw-bg-opacity: 1;
    background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.active\:bg-gray-50:active {
    --tw-bg-opacity: 1;
    background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.active\:bg-purple-100:active {
    --tw-bg-opacity: 1;
    background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}
.active\:bg-red-600:active {
    --tw-bg-opacity: 1;
    background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
.disabled\:transform-none:disabled {
    transform: none;
}
.disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
}
.disabled\:bg-gray-300:disabled {
    --tw-bg-opacity: 1;
    background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}
.disabled\:bg-gray-400:disabled {
    --tw-bg-opacity: 1;
    background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}
.disabled\:from-gray-400:disabled {
    --tw-gradient-from: #9ca3af var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(156 163 175 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.disabled\:to-gray-400:disabled {
    --tw-gradient-to: #9ca3af var(--tw-gradient-to-position);
}
.disabled\:opacity-50:disabled {
    opacity: 0.5;
}
.group[open] .group-open\:rotate-180 {
    --tw-rotate: 180deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:translate-y-0 {
    --tw-translate-y: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-105 {
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-110 {
    --tw-scale-x: 1.1;
    --tw-scale-y: 1.1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:border-amber-400 {
    --tw-border-opacity: 1;
    border-color: rgb(251 191 36 / var(--tw-border-opacity, 1));
}
.group:hover .group-hover\:text-blue-200 {
    --tw-text-opacity: 1;
    color: rgb(191 219 254 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-blue-500 {
    --tw-text-opacity: 1;
    color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-blue-600 {
    --tw-text-opacity: 1;
    color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-cyan-600 {
    --tw-text-opacity: 1;
    color: rgb(8 145 178 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-emerald-500 {
    --tw-text-opacity: 1;
    color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-emerald-600 {
    --tw-text-opacity: 1;
    color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-green-600 {
    --tw-text-opacity: 1;
    color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-indigo-500 {
    --tw-text-opacity: 1;
    color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-orange-500 {
    --tw-text-opacity: 1;
    color: rgb(249 115 22 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-pink-500 {
    --tw-text-opacity: 1;
    color: rgb(236 72 153 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-purple-500 {
    --tw-text-opacity: 1;
    color: rgb(168 85 247 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-purple-600 {
    --tw-text-opacity: 1;
    color: rgb(147 51 234 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-red-600 {
    --tw-text-opacity: 1;
    color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-yellow-500 {
    --tw-text-opacity: 1;
    color: rgb(234 179 8 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-yellow-600 {
    --tw-text-opacity: 1;
    color: rgb(202 138 4 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:underline {
    text-decoration-line: underline;
}
.group\/session:hover .group-hover\/session\:opacity-100 {
    opacity: 1;
}
.group:hover .group-hover\:opacity-0 {
    opacity: 0;
}
.group:hover .group-hover\:opacity-100 {
    opacity: 1;
}
.group:hover .group-hover\:opacity-80 {
    opacity: 0.8;
}
.group:hover .group-hover\:shadow-md {
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.group:active .group-active\:scale-95 {
    --tw-scale-x: .95;
    --tw-scale-y: .95;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.peer:checked ~ .peer-checked\:bg-blue-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}
.peer:checked ~ .peer-checked\:bg-green-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.peer:checked ~ .peer-checked\:bg-orange-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));
}
.peer:checked ~ .peer-checked\:bg-pink-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(236 72 153 / var(--tw-bg-opacity, 1));
}
.peer:checked ~ .peer-checked\:bg-purple-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1));
}
.peer:checked ~ .peer-checked\:bg-yellow-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));
}
.peer:checked ~ .peer-checked\:after\:translate-x-full::after {
    content: var(--tw-content);
    --tw-translate-x: 100%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.peer:checked ~ .peer-checked\:after\:border-white::after {
    content: var(--tw-content);
    --tw-border-opacity: 1;
    border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.peer:focus ~ .peer-focus\:outline-none {
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.peer:focus ~ .peer-focus\:ring-4 {
    --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(4px + 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);
}
.peer:focus ~ .peer-focus\:ring-pink-300 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(249 168 212 / var(--tw-ring-opacity, 1));
}
.peer:focus ~ .peer-focus\:ring-purple-300 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(216 180 254 / var(--tw-ring-opacity, 1));
}
.dark\:divide-darkborder:is(.dark *) > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-opacity: 1;
    border-color: rgb(55 58 64 / var(--tw-divide-opacity, 1));
}
.dark\:divide-gray-700:is(.dark *) > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-opacity: 1;
    border-color: rgb(55 65 81 / var(--tw-divide-opacity, 1));
}
.dark\:border-amber-600:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(217 119 6 / var(--tw-border-opacity, 1));
}
.dark\:border-amber-700:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(180 83 9 / var(--tw-border-opacity, 1));
}
.dark\:border-amber-800:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(146 64 14 / var(--tw-border-opacity, 1));
}
.dark\:border-blue-400:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}
.dark\:border-blue-600:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
}
.dark\:border-blue-700:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(29 78 216 / var(--tw-border-opacity, 1));
}
.dark\:border-blue-700\/50:is(.dark *) {
    border-color: rgb(29 78 216 / 0.5);
}
.dark\:border-blue-800:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(30 64 175 / var(--tw-border-opacity, 1));
}
.dark\:border-blue-800\/30:is(.dark *) {
    border-color: rgb(30 64 175 / 0.3);
}
.dark\:border-blue-800\/50:is(.dark *) {
    border-color: rgb(30 64 175 / 0.5);
}
.dark\:border-blue-900:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(30 58 138 / var(--tw-border-opacity, 1));
}
.dark\:border-cyan-800:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(21 94 117 / var(--tw-border-opacity, 1));
}
.dark\:border-darkbg:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(26 27 30 / var(--tw-border-opacity, 1));
}
.dark\:border-darkborder:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(55 58 64 / var(--tw-border-opacity, 1));
}
.dark\:border-darkborder\/50:is(.dark *) {
    border-color: rgb(55 58 64 / 0.5);
}
.dark\:border-darkcard:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(37 38 43 / var(--tw-border-opacity, 1));
}
.dark\:border-gray-300:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.dark\:border-gray-500:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
}
.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\:border-gray-700\/50:is(.dark *) {
    border-color: rgb(55 65 81 / 0.5);
}
.dark\:border-green-700\/50:is(.dark *) {
    border-color: rgb(21 128 61 / 0.5);
}
.dark\:border-green-800:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(22 101 52 / var(--tw-border-opacity, 1));
}
.dark\:border-green-800\/30:is(.dark *) {
    border-color: rgb(22 101 52 / 0.3);
}
.dark\:border-green-800\/50:is(.dark *) {
    border-color: rgb(22 101 52 / 0.5);
}
.dark\:border-orange-700:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(194 65 12 / var(--tw-border-opacity, 1));
}
.dark\:border-orange-800:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(154 52 18 / var(--tw-border-opacity, 1));
}
.dark\:border-pink-800:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(157 23 77 / var(--tw-border-opacity, 1));
}
.dark\:border-pink-800\/30:is(.dark *) {
    border-color: rgb(157 23 77 / 0.3);
}
.dark\:border-pink-800\/50:is(.dark *) {
    border-color: rgb(157 23 77 / 0.5);
}
.dark\:border-purple-700:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(126 34 206 / var(--tw-border-opacity, 1));
}
.dark\:border-purple-800:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(107 33 168 / var(--tw-border-opacity, 1));
}
.dark\:border-purple-800\/30:is(.dark *) {
    border-color: rgb(107 33 168 / 0.3);
}
.dark\:border-purple-800\/50:is(.dark *) {
    border-color: rgb(107 33 168 / 0.5);
}
.dark\:border-purple-900\/50:is(.dark *) {
    border-color: rgb(88 28 135 / 0.5);
}
.dark\:border-red-700:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(185 28 28 / var(--tw-border-opacity, 1));
}
.dark\:border-red-800:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(153 27 27 / var(--tw-border-opacity, 1));
}
.dark\:border-red-900\/50:is(.dark *) {
    border-color: rgb(127 29 29 / 0.5);
}
.dark\:border-yellow-600:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(202 138 4 / var(--tw-border-opacity, 1));
}
.dark\:border-yellow-700:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(161 98 7 / var(--tw-border-opacity, 1));
}
.dark\:border-yellow-700\/50:is(.dark *) {
    border-color: rgb(161 98 7 / 0.5);
}
.dark\:border-yellow-800:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(133 77 14 / var(--tw-border-opacity, 1));
}
.dark\:border-yellow-800\/30:is(.dark *) {
    border-color: rgb(133 77 14 / 0.3);
}
.dark\:border-yellow-800\/50:is(.dark *) {
    border-color: rgb(133 77 14 / 0.5);
}
.dark\:border-yellow-900\/20:is(.dark *) {
    border-color: rgb(113 63 18 / 0.2);
}
.dark\:bg-\[\#1a1b1e\]:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(26 27 30 / var(--tw-bg-opacity, 1));
}
.dark\:bg-amber-900\/20:is(.dark *) {
    background-color: rgb(120 53 15 / 0.2);
}
.dark\:bg-amber-900\/30:is(.dark *) {
    background-color: rgb(120 53 15 / 0.3);
}
.dark\:bg-black\/10:is(.dark *) {
    background-color: rgb(0 0 0 / 0.1);
}
.dark\:bg-black\/20:is(.dark *) {
    background-color: rgb(0 0 0 / 0.2);
}
.dark\:bg-black\/50:is(.dark *) {
    background-color: rgb(0 0 0 / 0.5);
}
.dark\:bg-black\/90:is(.dark *) {
    background-color: rgb(0 0 0 / 0.9);
}
.dark\:bg-blue-800:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(30 64 175 / var(--tw-bg-opacity, 1));
}
.dark\:bg-blue-900:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(30 58 138 / var(--tw-bg-opacity, 1));
}
.dark\:bg-blue-900\/20:is(.dark *) {
    background-color: rgb(30 58 138 / 0.2);
}
.dark\:bg-blue-900\/30:is(.dark *) {
    background-color: rgb(30 58 138 / 0.3);
}
.dark\:bg-blue-900\/40:is(.dark *) {
    background-color: rgb(30 58 138 / 0.4);
}
.dark\:bg-blue-900\/50:is(.dark *) {
    background-color: rgb(30 58 138 / 0.5);
}
.dark\:bg-cyan-900\/20:is(.dark *) {
    background-color: rgb(22 78 99 / 0.2);
}
.dark\:bg-darkbg:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(26 27 30 / var(--tw-bg-opacity, 1));
}
.dark\:bg-darkbg\/50:is(.dark *) {
    background-color: rgb(26 27 30 / 0.5);
}
.dark\:bg-darkbg\/90:is(.dark *) {
    background-color: rgb(26 27 30 / 0.9);
}
.dark\:bg-darkborder:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(55 58 64 / var(--tw-bg-opacity, 1));
}
.dark\:bg-darkcard:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(37 38 43 / var(--tw-bg-opacity, 1));
}
.dark\:bg-darkcard\/80:is(.dark *) {
    background-color: rgb(37 38 43 / 0.8);
}
.dark\:bg-darkcard\/90:is(.dark *) {
    background-color: rgb(37 38 43 / 0.9);
}
.dark\:bg-darkinput:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(44 46 51 / var(--tw-bg-opacity, 1));
}
.dark\:bg-darkinput\/30:is(.dark *) {
    background-color: rgb(44 46 51 / 0.3);
}
.dark\:bg-darkinput\/50:is(.dark *) {
    background-color: rgb(44 46 51 / 0.5);
}
.dark\:bg-darkinput\/90:is(.dark *) {
    background-color: rgb(44 46 51 / 0.9);
}
.dark\:bg-emerald-900\/30:is(.dark *) {
    background-color: rgb(6 78 59 / 0.3);
}
.dark\:bg-gray-200:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.dark\:bg-gray-500\/60:is(.dark *) {
    background-color: rgb(107 114 128 / 0.6);
}
.dark\:bg-gray-600:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(75 85 99 / var(--tw-bg-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-700\/50:is(.dark *) {
    background-color: rgb(55 65 81 / 0.5);
}
.dark\:bg-gray-700\/80:is(.dark *) {
    background-color: rgb(55 65 81 / 0.8);
}
.dark\:bg-gray-800:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}
.dark\:bg-gray-800\/40:is(.dark *) {
    background-color: rgb(31 41 55 / 0.4);
}
.dark\:bg-gray-800\/50:is(.dark *) {
    background-color: rgb(31 41 55 / 0.5);
}
.dark\:bg-gray-800\/60:is(.dark *) {
    background-color: rgb(31 41 55 / 0.6);
}
.dark\:bg-gray-900:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}
.dark\:bg-gray-900\/30:is(.dark *) {
    background-color: rgb(17 24 39 / 0.3);
}
.dark\:bg-gray-900\/70:is(.dark *) {
    background-color: rgb(17 24 39 / 0.7);
}
.dark\:bg-green-900\/20:is(.dark *) {
    background-color: rgb(20 83 45 / 0.2);
}
.dark\:bg-green-900\/30:is(.dark *) {
    background-color: rgb(20 83 45 / 0.3);
}
.dark\:bg-green-900\/40:is(.dark *) {
    background-color: rgb(20 83 45 / 0.4);
}
.dark\:bg-indigo-900\/30:is(.dark *) {
    background-color: rgb(49 46 129 / 0.3);
}
.dark\:bg-indigo-900\/40:is(.dark *) {
    background-color: rgb(49 46 129 / 0.4);
}
.dark\:bg-orange-900\/10:is(.dark *) {
    background-color: rgb(124 45 18 / 0.1);
}
.dark\:bg-orange-900\/20:is(.dark *) {
    background-color: rgb(124 45 18 / 0.2);
}
.dark\:bg-orange-900\/30:is(.dark *) {
    background-color: rgb(124 45 18 / 0.3);
}
.dark\:bg-pink-800:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(157 23 77 / var(--tw-bg-opacity, 1));
}
.dark\:bg-pink-900\/20:is(.dark *) {
    background-color: rgb(131 24 67 / 0.2);
}
.dark\:bg-pink-900\/30:is(.dark *) {
    background-color: rgb(131 24 67 / 0.3);
}
.dark\:bg-purple-400:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(192 132 252 / var(--tw-bg-opacity, 1));
}
.dark\:bg-purple-600:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1));
}
.dark\:bg-purple-800:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(107 33 168 / var(--tw-bg-opacity, 1));
}
.dark\:bg-purple-900\/20:is(.dark *) {
    background-color: rgb(88 28 135 / 0.2);
}
.dark\:bg-purple-900\/30:is(.dark *) {
    background-color: rgb(88 28 135 / 0.3);
}
.dark\:bg-purple-900\/50:is(.dark *) {
    background-color: rgb(88 28 135 / 0.5);
}
.dark\:bg-red-900\/20:is(.dark *) {
    background-color: rgb(127 29 29 / 0.2);
}
.dark\:bg-red-900\/30:is(.dark *) {
    background-color: rgb(127 29 29 / 0.3);
}
.dark\:bg-teal-900\/20:is(.dark *) {
    background-color: rgb(19 78 74 / 0.2);
}
.dark\:bg-white:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.dark\:bg-white\/10:is(.dark *) {
    background-color: rgb(255 255 255 / 0.1);
}
.dark\:bg-white\/20:is(.dark *) {
    background-color: rgb(255 255 255 / 0.2);
}
.dark\:bg-yellow-900\/10:is(.dark *) {
    background-color: rgb(113 63 18 / 0.1);
}
.dark\:bg-yellow-900\/20:is(.dark *) {
    background-color: rgb(113 63 18 / 0.2);
}
.dark\:bg-yellow-900\/30:is(.dark *) {
    background-color: rgb(113 63 18 / 0.3);
}
.dark\:from-blue-400:is(.dark *) {
    --tw-gradient-from: #60a5fa var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-blue-900\/20:is(.dark *) {
    --tw-gradient-from: rgb(30 58 138 / 0.2) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(30 58 138 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-cyan-900\/20:is(.dark *) {
    --tw-gradient-from: rgb(22 78 99 / 0.2) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(22 78 99 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-darkbg:is(.dark *) {
    --tw-gradient-from: #1a1b1e var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(26 27 30 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-gray-600:is(.dark *) {
    --tw-gradient-from: #4b5563 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(75 85 99 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-gray-700:is(.dark *) {
    --tw-gradient-from: #374151 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(55 65 81 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-green-900\/20:is(.dark *) {
    --tw-gradient-from: rgb(20 83 45 / 0.2) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(20 83 45 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-indigo-900\/20:is(.dark *) {
    --tw-gradient-from: rgb(49 46 129 / 0.2) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(49 46 129 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-orange-900\/20:is(.dark *) {
    --tw-gradient-from: rgb(124 45 18 / 0.2) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(124 45 18 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-pink-900\/20:is(.dark *) {
    --tw-gradient-from: rgb(131 24 67 / 0.2) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(131 24 67 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-purple-900\/20:is(.dark *) {
    --tw-gradient-from: rgb(88 28 135 / 0.2) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(88 28 135 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-red-900\/20:is(.dark *) {
    --tw-gradient-from: rgb(127 29 29 / 0.2) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(127 29 29 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-teal-900\/20:is(.dark *) {
    --tw-gradient-from: rgb(19 78 74 / 0.2) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(19 78 74 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-yellow-900\/20:is(.dark *) {
    --tw-gradient-from: rgb(113 63 18 / 0.2) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(113 63 18 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:via-darkbg:is(.dark *) {
    --tw-gradient-to: rgb(26 27 30 / 0)  var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), #1a1b1e var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.dark\:to-blue-900\/20:is(.dark *) {
    --tw-gradient-to: rgb(30 58 138 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-cyan-900\/20:is(.dark *) {
    --tw-gradient-to: rgb(22 78 99 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-gray-800:is(.dark *) {
    --tw-gradient-to: #1f2937 var(--tw-gradient-to-position);
}
.dark\:to-gray-900:is(.dark *) {
    --tw-gradient-to: #111827 var(--tw-gradient-to-position);
}
.dark\:to-indigo-900\/20:is(.dark *) {
    --tw-gradient-to: rgb(49 46 129 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-orange-900\/20:is(.dark *) {
    --tw-gradient-to: rgb(124 45 18 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-pink-900\/20:is(.dark *) {
    --tw-gradient-to: rgb(131 24 67 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-purple-400:is(.dark *) {
    --tw-gradient-to: #c084fc var(--tw-gradient-to-position);
}
.dark\:to-purple-900\/20:is(.dark *) {
    --tw-gradient-to: rgb(88 28 135 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-teal-900\/20:is(.dark *) {
    --tw-gradient-to: rgb(19 78 74 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-transparent:is(.dark *) {
    --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.dark\:to-yellow-900\/20:is(.dark *) {
    --tw-gradient-to: rgb(113 63 18 / 0.2) var(--tw-gradient-to-position);
}
.dark\:text-amber-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}
.dark\:text-amber-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.dark\:text-black:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.dark\:text-blue-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}
.dark\:text-blue-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.dark\:text-blue-500:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}
.dark\:text-cyan-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}
.dark\:text-cyan-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(34 211 238 / var(--tw-text-opacity, 1));
}
.dark\:text-emerald-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.dark\:text-gray-100:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}
.dark\:text-gray-200:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(229 231 235 / 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-gray-400\/80:is(.dark *) {
    color: rgb(156 163 175 / 0.8);
}
.dark\:text-gray-500:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.dark\:text-gray-500\/60:is(.dark *) {
    color: rgb(107 114 128 / 0.6);
}
.dark\:text-gray-600:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.dark\:text-gray-700:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.dark\:text-green-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}
.dark\:text-green-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.dark\:text-green-500\/80:is(.dark *) {
    color: rgb(34 197 94 / 0.8);
}
.dark\:text-indigo-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(129 140 248 / var(--tw-text-opacity, 1));
}
.dark\:text-orange-200:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(254 215 170 / var(--tw-text-opacity, 1));
}
.dark\:text-orange-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(253 186 116 / var(--tw-text-opacity, 1));
}
.dark\:text-orange-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}
.dark\:text-pink-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(249 168 212 / var(--tw-text-opacity, 1));
}
.dark\:text-pink-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(244 114 182 / var(--tw-text-opacity, 1));
}
.dark\:text-purple-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}
.dark\:text-purple-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}
.dark\:text-purple-500:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(168 85 247 / var(--tw-text-opacity, 1));
}
.dark\:text-red-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.dark\:text-red-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.dark\:text-teal-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(45 212 191 / 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\:text-white\/10:is(.dark *) {
    color: rgb(255 255 255 / 0.1);
}
.dark\:text-yellow-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(253 224 71 / var(--tw-text-opacity, 1));
}
.dark\:text-yellow-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}
.dark\:text-yellow-500\/80:is(.dark *) {
    color: rgb(234 179 8 / 0.8);
}
.dark\:placeholder-gray-400:is(.dark *)::-moz-placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}
.dark\:placeholder-gray-400:is(.dark *)::placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}
.dark\:placeholder-gray-500:is(.dark *)::-moz-placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}
.dark\:placeholder-gray-500:is(.dark *)::placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}
.dark\:placeholder-gray-600:is(.dark *)::-moz-placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(75 85 99 / var(--tw-placeholder-opacity, 1));
}
.dark\:placeholder-gray-600:is(.dark *)::placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(75 85 99 / var(--tw-placeholder-opacity, 1));
}
.dark\:shadow-\[0_-5px_15px_rgba\(0\2c 0\2c 0\2c 0\.3\)\]:is(.dark *) {
    --tw-shadow: 0 -5px 15px rgba(0,0,0,0.3);
    --tw-shadow-colored: 0 -5px 15px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.dark\:shadow-none:is(.dark *) {
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.dark\:shadow-orange-900\/30:is(.dark *) {
    --tw-shadow-color: rgb(124 45 18 / 0.3);
    --tw-shadow: var(--tw-shadow-colored);
}
.dark\:ring-blue-800:is(.dark *) {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(30 64 175 / var(--tw-ring-opacity, 1));
}
.dark\:ring-blue-900:is(.dark *) {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(30 58 138 / var(--tw-ring-opacity, 1));
}
.dark\:ring-white\/10:is(.dark *) {
    --tw-ring-color: rgb(255 255 255 / 0.1);
}
.dark\:hover\:border-blue-500:hover:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-blue-600:hover:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-blue-700:hover:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(29 78 216 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-blue-800:hover:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(30 64 175 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-cyan-800:hover:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(21 94 117 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-darkborder:hover:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(55 58 64 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-emerald-800:hover:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(6 95 70 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-gray-600:hover:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-pink-700:hover:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(190 24 93 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-purple-800:hover:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(107 33 168 / var(--tw-border-opacity, 1));
}
.dark\:hover\:bg-amber-800\/30:hover:is(.dark *) {
    background-color: rgb(146 64 14 / 0.3);
}
.dark\:hover\:bg-blue-900\/10:hover:is(.dark *) {
    background-color: rgb(30 58 138 / 0.1);
}
.dark\:hover\:bg-blue-900\/20:hover:is(.dark *) {
    background-color: rgb(30 58 138 / 0.2);
}
.dark\:hover\:bg-blue-900\/30:hover:is(.dark *) {
    background-color: rgb(30 58 138 / 0.3);
}
.dark\:hover\:bg-blue-900\/40:hover:is(.dark *) {
    background-color: rgb(30 58 138 / 0.4);
}
.dark\:hover\:bg-blue-900\/50:hover:is(.dark *) {
    background-color: rgb(30 58 138 / 0.5);
}
.dark\:hover\:bg-cyan-900\/10:hover:is(.dark *) {
    background-color: rgb(22 78 99 / 0.1);
}
.dark\:hover\:bg-cyan-900\/20:hover:is(.dark *) {
    background-color: rgb(22 78 99 / 0.2);
}
.dark\:hover\:bg-darkborder:hover:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(55 58 64 / var(--tw-bg-opacity, 1));
}
.dark\:hover\:bg-darkborder\/30:hover:is(.dark *) {
    background-color: rgb(55 58 64 / 0.3);
}
.dark\:hover\:bg-darkcard\/50:hover:is(.dark *) {
    background-color: rgb(37 38 43 / 0.5);
}
.dark\:hover\:bg-darkinput:hover:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(44 46 51 / var(--tw-bg-opacity, 1));
}
.dark\:hover\:bg-darkinput\/30:hover:is(.dark *) {
    background-color: rgb(44 46 51 / 0.3);
}
.dark\:hover\:bg-darkinput\/50:hover:is(.dark *) {
    background-color: rgb(44 46 51 / 0.5);
}
.dark\:hover\:bg-darkinput\/80:hover:is(.dark *) {
    background-color: rgb(44 46 51 / 0.8);
}
.dark\:hover\:bg-emerald-900\/10:hover:is(.dark *) {
    background-color: rgb(6 78 59 / 0.1);
}
.dark\:hover\:bg-gray-600:hover:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}
.dark\:hover\:bg-gray-700:hover:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}
.dark\:hover\:bg-gray-700\/50:hover:is(.dark *) {
    background-color: rgb(55 65 81 / 0.5);
}
.dark\:hover\:bg-gray-800:hover:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}
.dark\:hover\:bg-gray-800\/60:hover:is(.dark *) {
    background-color: rgb(31 41 55 / 0.6);
}
.dark\:hover\:bg-green-900\/10:hover:is(.dark *) {
    background-color: rgb(20 83 45 / 0.1);
}
.dark\:hover\:bg-green-900\/50:hover:is(.dark *) {
    background-color: rgb(20 83 45 / 0.5);
}
.dark\:hover\:bg-indigo-900\/10:hover:is(.dark *) {
    background-color: rgb(49 46 129 / 0.1);
}
.dark\:hover\:bg-orange-900\/10:hover:is(.dark *) {
    background-color: rgb(124 45 18 / 0.1);
}
.dark\:hover\:bg-orange-900\/20:hover:is(.dark *) {
    background-color: rgb(124 45 18 / 0.2);
}
.dark\:hover\:bg-pink-900\/10:hover:is(.dark *) {
    background-color: rgb(131 24 67 / 0.1);
}
.dark\:hover\:bg-pink-900\/20:hover:is(.dark *) {
    background-color: rgb(131 24 67 / 0.2);
}
.dark\:hover\:bg-pink-900\/40:hover:is(.dark *) {
    background-color: rgb(131 24 67 / 0.4);
}
.dark\:hover\:bg-purple-700:hover:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(126 34 206 / var(--tw-bg-opacity, 1));
}
.dark\:hover\:bg-purple-800\/30:hover:is(.dark *) {
    background-color: rgb(107 33 168 / 0.3);
}
.dark\:hover\:bg-purple-900\/10:hover:is(.dark *) {
    background-color: rgb(88 28 135 / 0.1);
}
.dark\:hover\:bg-purple-900\/20:hover:is(.dark *) {
    background-color: rgb(88 28 135 / 0.2);
}
.dark\:hover\:bg-purple-900\/30:hover:is(.dark *) {
    background-color: rgb(88 28 135 / 0.3);
}
.dark\:hover\:bg-purple-900\/50:hover:is(.dark *) {
    background-color: rgb(88 28 135 / 0.5);
}
.dark\:hover\:bg-red-900\/10:hover:is(.dark *) {
    background-color: rgb(127 29 29 / 0.1);
}
.dark\:hover\:bg-red-900\/20:hover:is(.dark *) {
    background-color: rgb(127 29 29 / 0.2);
}
.dark\:hover\:bg-red-900\/30:hover:is(.dark *) {
    background-color: rgb(127 29 29 / 0.3);
}
.dark\:hover\:bg-red-900\/40:hover:is(.dark *) {
    background-color: rgb(127 29 29 / 0.4);
}
.dark\:hover\:bg-white\/40:hover:is(.dark *) {
    background-color: rgb(255 255 255 / 0.4);
}
.dark\:hover\:bg-white\/5:hover:is(.dark *) {
    background-color: rgb(255 255 255 / 0.05);
}
.dark\:hover\:bg-yellow-900\/10:hover:is(.dark *) {
    background-color: rgb(113 63 18 / 0.1);
}
.dark\:hover\:bg-yellow-900\/30:hover:is(.dark *) {
    background-color: rgb(113 63 18 / 0.3);
}
.dark\:hover\:bg-yellow-900\/50:hover:is(.dark *) {
    background-color: rgb(113 63 18 / 0.5);
}
.dark\:hover\:text-amber-300:hover:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(252 211 77 / 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\:hover\:text-blue-400:hover:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.dark\:hover\:text-gray-200:hover:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}
.dark\:hover\:text-gray-300:hover:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.dark\:hover\:text-indigo-400:hover:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(129 140 248 / var(--tw-text-opacity, 1));
}
.dark\:hover\:text-orange-400:hover:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}
.dark\:hover\:text-pink-400:hover:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(244 114 182 / var(--tw-text-opacity, 1));
}
.dark\:hover\:text-purple-300:hover:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}
.dark\:hover\:text-purple-400:hover:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}
.dark\:hover\:text-red-400:hover:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.dark\:hover\:text-white:hover:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.dark\:focus\:bg-darkbg:focus:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(26 27 30 / var(--tw-bg-opacity, 1));
}
.dark\:focus\:bg-darkinput:focus:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(44 46 51 / var(--tw-bg-opacity, 1));
}
.dark\:focus\:bg-gray-600:focus:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}
.dark\:active\:bg-darkinput:active:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(44 46 51 / var(--tw-bg-opacity, 1));
}
.group:hover .dark\:group-hover\:border-amber-500:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}
.group:hover .dark\:group-hover\:text-blue-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.group:hover .dark\:group-hover\:text-cyan-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(34 211 238 / var(--tw-text-opacity, 1));
}
.group:hover .dark\:group-hover\:text-emerald-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.group:hover .dark\:group-hover\:text-green-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.group:hover .dark\:group-hover\:text-purple-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}
.group:hover .dark\:group-hover\:text-red-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.group:hover .dark\:group-hover\:text-yellow-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}
.peer:focus ~ .dark\:peer-focus\:ring-pink-800:is(.dark *) {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(157 23 77 / var(--tw-ring-opacity, 1));
}
.peer:focus ~ .dark\:peer-focus\:ring-purple-800:is(.dark *) {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(107 33 168 / var(--tw-ring-opacity, 1));
}
@media (min-width: 640px) {
    .sm\:block {
        display: block;
    }
    .sm\:inline {
        display: inline;
    }
    .sm\:h-24 {
        height: 6rem;
    }
    .sm\:h-80 {
        height: 20rem;
    }
    .sm\:h-\[85vh\] {
        height: 85vh;
    }
    .sm\:w-20 {
        width: 5rem;
    }
    .sm\:w-28 {
        width: 7rem;
    }
    .sm\:w-32 {
        width: 8rem;
    }
    .sm\:w-auto {
        width: auto;
    }
    .sm\:max-w-lg {
        max-width: 32rem;
    }
    .sm\:flex-none {
        flex: none;
    }
    .sm\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sm\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .sm\:grid-cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    .sm\:flex-row {
        flex-direction: row;
    }
    .sm\:items-center {
        align-items: center;
    }
    .sm\:gap-3 {
        gap: 0.75rem;
    }
    .sm\:gap-4 {
        gap: 1rem;
    }
    .sm\:rounded-3xl {
        border-radius: 1.5rem;
    }
    .sm\:p-12 {
        padding: 3rem;
    }
    .sm\:p-4 {
        padding: 1rem;
    }
    .sm\:p-6 {
        padding: 1.5rem;
    }
    .sm\:p-8 {
        padding: 2rem;
    }
    .sm\:px-4 {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .sm\:px-6 {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
    .sm\:py-2 {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }
    .sm\:pb-12 {
        padding-bottom: 3rem;
    }
    .sm\:text-3xl {
        font-size: 1.875rem;
        line-height: 2.25rem;
    }
    .sm\:text-4xl {
        font-size: 2.25rem;
        line-height: 2.5rem;
    }
    .sm\:text-base {
        font-size: 1rem;
        line-height: 1.5rem;
    }
    .sm\:text-lg {
        font-size: 1.125rem;
        line-height: 1.75rem;
    }
}
@media (min-width: 768px) {
    .md\:relative {
        position: relative;
    }
    .md\:left-8 {
        left: 2rem;
    }
    .md\:left-auto {
        left: auto;
    }
    .md\:right-0 {
        right: 0px;
    }
    .md\:z-auto {
        z-index: auto;
    }
    .md\:col-span-1 {
        grid-column: span 1 / span 1;
    }
    .md\:col-span-2 {
        grid-column: span 2 / span 2;
    }
    .md\:mx-0 {
        margin-left: 0px;
        margin-right: 0px;
    }
    .md\:ml-2 {
        margin-left: 0.5rem;
    }
    .md\:mr-2 {
        margin-right: 0.5rem;
    }
    .md\:mt-0 {
        margin-top: 0px;
    }
    .md\:mt-6 {
        margin-top: 1.5rem;
    }
    .md\:block {
        display: block;
    }
    .md\:flex {
        display: flex;
    }
    .md\:hidden {
        display: none;
    }
    .md\:aspect-\[3\/4\] {
        aspect-ratio: 3/4;
    }
    .md\:h-10 {
        height: 2.5rem;
    }
    .md\:h-16 {
        height: 4rem;
    }
    .md\:h-20 {
        height: 5rem;
    }
    .md\:h-32 {
        height: 8rem;
    }
    .md\:h-48 {
        height: 12rem;
    }
    .md\:h-5\/6 {
        height: 83.333333%;
    }
    .md\:h-64 {
        height: 16rem;
    }
    .md\:h-9 {
        height: 2.25rem;
    }
    .md\:h-\[90\%\] {
        height: 90%;
    }
    .md\:h-auto {
        height: auto;
    }
    .md\:w-0 {
        width: 0px;
    }
    .md\:w-1\/3 {
        width: 33.333333%;
    }
    .md\:w-10 {
        width: 2.5rem;
    }
    .md\:w-16 {
        width: 4rem;
    }
    .md\:w-2\/3 {
        width: 66.666667%;
    }
    .md\:w-20 {
        width: 5rem;
    }
    .md\:w-24 {
        width: 6rem;
    }
    .md\:w-32 {
        width: 8rem;
    }
    .md\:w-40 {
        width: 10rem;
    }
    .md\:w-48 {
        width: 12rem;
    }
    .md\:w-5\/6 {
        width: 83.333333%;
    }
    .md\:w-80 {
        width: 20rem;
    }
    .md\:w-9 {
        width: 2.25rem;
    }
    .md\:w-\[90\%\] {
        width: 90%;
    }
    .md\:w-auto {
        width: auto;
    }
    .md\:max-w-\[85\%\] {
        max-width: 85%;
    }
    .md\:max-w-xs {
        max-width: 20rem;
    }
    .md\:flex-1 {
        flex: 1 1 0%;
    }
    .md\:flex-none {
        flex: none;
    }
    .md\:translate-x-0 {
        --tw-translate-x: 0px;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }
    .md\:transform-none {
        transform: none;
    }
    .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .md\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .md\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .md\:grid-cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    .md\:flex-row {
        flex-direction: row;
    }
    .md\:flex-wrap {
        flex-wrap: wrap;
    }
    .md\:items-center {
        align-items: center;
    }
    .md\:gap-0 {
        gap: 0px;
    }
    .md\:gap-1\.5 {
        gap: 0.375rem;
    }
    .md\:gap-2 {
        gap: 0.5rem;
    }
    .md\:gap-3 {
        gap: 0.75rem;
    }
    .md\:gap-4 {
        gap: 1rem;
    }
    .md\:gap-5 {
        gap: 1.25rem;
    }
    .md\:gap-6 {
        gap: 1.5rem;
    }
    .md\:space-y-8 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(2rem * var(--tw-space-y-reverse));
    }
    .md\:overflow-hidden {
        overflow: hidden;
    }
    .md\:whitespace-normal {
        white-space: normal;
    }
    .md\:rounded-2xl {
        border-radius: 1rem;
    }
    .md\:border {
        border-width: 1px;
    }
    .md\:border-none {
        border-style: none;
    }
    .md\:p-1 {
        padding: 0.25rem;
    }
    .md\:p-10 {
        padding: 2.5rem;
    }
    .md\:p-4 {
        padding: 1rem;
    }
    .md\:p-5 {
        padding: 1.25rem;
    }
    .md\:p-6 {
        padding: 1.5rem;
    }
    .md\:p-8 {
        padding: 2rem;
    }
    .md\:px-0 {
        padding-left: 0px;
        padding-right: 0px;
    }
    .md\:px-2\.5 {
        padding-left: 0.625rem;
        padding-right: 0.625rem;
    }
    .md\:px-6 {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
    .md\:px-8 {
        padding-left: 2rem;
        padding-right: 2rem;
    }
    .md\:py-1\.5 {
        padding-top: 0.375rem;
        padding-bottom: 0.375rem;
    }
    .md\:py-10 {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }
    .md\:py-3 {
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
    }
    .md\:py-6 {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
    }
    .md\:pb-0 {
        padding-bottom: 0px;
    }
    .md\:pb-20 {
        padding-bottom: 5rem;
    }
    .md\:pl-0 {
        padding-left: 0px;
    }
    .md\:pl-6 {
        padding-left: 1.5rem;
    }
    .md\:pr-6 {
        padding-right: 1.5rem;
    }
    .md\:text-2xl {
        font-size: 1.5rem;
        line-height: 2rem;
    }
    .md\:text-3xl {
        font-size: 1.875rem;
        line-height: 2.25rem;
    }
    .md\:text-4xl {
        font-size: 2.25rem;
        line-height: 2.5rem;
    }
    .md\:text-6xl {
        font-size: 3.75rem;
        line-height: 1;
    }
    .md\:text-base {
        font-size: 1rem;
        line-height: 1.5rem;
    }
    .md\:text-lg {
        font-size: 1.125rem;
        line-height: 1.75rem;
    }
    .md\:text-sm {
        font-size: 0.875rem;
        line-height: 1.25rem;
    }
    .md\:shadow-none {
        --tw-shadow: 0 0 #0000;
        --tw-shadow-colored: 0 0 #0000;
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    }
    .md\:shadow-sm {
        --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
        --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    }
}
@media (min-width: 1024px) {
    .lg\:block {
        display: block;
    }
    .lg\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .lg\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .lg\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .lg\:flex-row {
        flex-direction: row;
    }
    .lg\:px-8 {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}
@media (min-width: 1280px) {
    .xl\:max-w-6xl {
        max-width: 72rem;
    }
    .xl\:grid-cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}
