
        :root {
            --bg-primary: #1f1f1f;
            --bg-secondary: #000000;
            --bg-tertiary: #000000;
            --text-primary: #f8fafc;
            --text-secondary: #e2e8f0;
            --text-tertiary: #94a3b8;
            --accent-primary: #8b5cf6;
            --accent-secondary: #7c3aed;
        }
        
        body {
            font-family: 'Inter', sans-serif;
            background-color: var(--bg-primary);
            color: var(--text-primary);
            margin: 0;
            padding: 0;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
        }
        
        .main-container {
            flex: 1;
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: 1.5rem 0;
        }
        
        .editor-wrapper {
            height: calc(100vh - 15rem);
            min-height: 500px;
            margin: auto 0;
        }
        
        .editor-container {
            display: flex;
            flex-direction: column;
            height: 100%;
            border-radius: 0.75rem;
            overflow: hidden;
            background-color: var(--bg-secondary);
            border: 1px solid var(--bg-tertiary);
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.2);
        }
        
        .editor-header {
            background-color: var(--bg-secondary);
            border-bottom: 1px solid var(--bg-tertiary);
            height: 4rem; /* 示例值，根据实际内容调整 */
            /* 或者使用 min-height 确保内容溢出时仍能显示 */
            /* min-height: 3rem; */
            display: flex; 
            align-items: center;
            justify-content: space-between; 
            padding: 1rem 1.25rem;
            box-sizing: border-box; 
        }
        
        .editor-content {
            flex: 1;
            position: relative;
            overflow: hidden;
            display: flex;
        }
        
        .line-numbers {
            background-color: var(--bg-secondary);
            color: var(--text-tertiary);
            font-family: 'JetBrains Mono', monospace;
            font-size: 14px;
            line-height: 1.5;
            padding: 1rem 0.75rem;
            text-align: right;
            overflow-y: hidden;
            user-select: none;
            border-right: 1px solid var(--bg-tertiary);
        }
        
        .editor-textarea-container {
            flex: 1;
            position: relative;
            overflow: hidden;
        }
        
        .editor-textarea {
            font-family: 'JetBrains Mono', monospace;
            font-size: 14px;
            line-height: 1.5;
            width: 100%;
            height: 100%;
            padding: 1rem;
            border: none;
            resize: none;
            outline: none;
            background-color: var(--bg-secondary);
            color: var(--text-secondary);
            overflow-y: auto;
            white-space: pre;
            tab-size: 2;
        }
        
        .editor-footer {
            background-color: var(--bg-secondary);
            padding: 1rem 1.25rem;
            border-top: 1px solid var(--bg-tertiary);
            font-size: 0.75rem;
            color: var(--text-tertiary);
        }
        
        .resize-handle {
            width: 0.75rem;
            background-color: var(--bg-tertiary);
            cursor: col-resize;
            transition: all 0.2s;
            position: relative;
            z-index: 10;
        }
        
        .resize-handle:hover {
            background-color: var(--accent-primary);
        }
        
        .resize-handle::after {
            content: "";
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 2px;
            height: 2rem;
            background-color: var(--text-tertiary);
            border-radius: 1px;
        }
        
        .nav-gradient {
            background: linear-gradient(135deg, var(--bg-tertiary) 0%, var(--bg-primary) 100%);
            border-bottom: 1px solid var(--bg-tertiary);
        }
        
        .badge {
            font-size: 0.65rem;
            padding: 0.25rem 0.5rem;
            border-radius: 9999px;
            background-color: var(--accent-primary);
            color: white;
            font-weight: 500;
        }
        
        .dropdown {
            background-color: var(--bg-tertiary);
            border: 1px solid var(--bg-tertiary);
            color: var(--text-primary);
            border-radius: 0.5rem;
            padding: 0.375rem 0.75rem;
            font-size: 0.875rem;
            transition: all 0.2s;
        }
        
        .dropdown:hover {
            border-color: var(--accent-primary);
        }
        
        .dropdown:focus {
            outline: none;
            border-color: var(--accent-primary);
            box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.3);
        }
        
        .btn {
            transition: all 0.2s;
            border-radius: 0.5rem;
            padding: 0.5rem 0.875rem;
            font-size: 0.875rem;
            display: inline-flex;
            align-items: center;
            gap: 0.375rem;
            font-weight: 500;
        }
        
        .btn-primary {
            background-color: var(--accent-primary);
            color: white;
        }
        
        .btn-primary:hover {
            background-color: var(--accent-secondary);
            transform: translateY(-1px);
        }
        
        .btn-primary:active {
            transform: translateY(0);
        }
        
        .btn-secondary {
            background-color: var(--bg-tertiary);
            color: var(--text-primary);
        }
        
        .btn-secondary:hover {
            background-color: #475569;
            transform: translateY(-1px);
        }
        
        .btn-secondary:active {
            transform: translateY(0);
        }
        
        .btn-sm {
            padding: 0.375rem 0.75rem;
            font-size: 0.75rem;
        }
        
        .btn-example {
            background-color: var(--bg-tertiary);
            color: var(--accent-primary);
            border: 1px solid var(--accent-primary);
        }
        
        .btn-example:hover {
            background-color: rgba(139, 92, 246, 0.1);
            transform: translateY(-1px);
        }
        
        .btn-example:active {
            transform: translateY(0);
        }
        
        .tooltip {
            position: relative;
            z-index: 20;
        }
        
        .tooltip:hover .tooltip-text {
            visibility: visible;
            opacity: 1;
            transform: translate(-50%, 0);
        }
        
        .tooltip-text {
            visibility: hidden;
            opacity: 0;
            position: absolute;
            top: 100%;
            left: 50%;
            transform: translate(-50%, 8px);
            background-color: var(--bg-tertiary);
            color: var(--text-primary);
            padding: 0.375rem 0.75rem;
            border-radius: 0.375rem;
            font-size: 0.75rem;
            white-space: nowrap;
            margin-bottom: 0.5rem;
            transition: all 0.2s;
            z-index: 30;
            border: 1px solid var(--bg-primary);
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.2);
            pointer-events: none;
        }
        
        .examples-container {
            display: flex;
            gap: 0.5rem;
            margin-top: 0.75rem;
            flex-wrap: wrap;
        }
        
        footer {
            background-color: var(--bg-secondary);
            padding: 1.25rem;
            text-align: center;
            font-size: 0.875rem;
            color: var(--text-tertiary);
            margin-top: auto;
            border-top: 1px solid var(--bg-tertiary);
        }
        
        .title-text {
            background: linear-gradient(to right, var(--text-primary), var(--accent-primary));
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
        }

        /* 自定义滚动条样式 */
        ::-webkit-scrollbar {
            width: 10px;
            height: 10px;
        }
        
        ::-webkit-scrollbar-track {
            background: var(--bg-tertiary);
            border-radius: 5px;
        }
        
        ::-webkit-scrollbar-thumb {
            background: var(--accent-primary);
            border-radius: 5px;
        }
        
        ::-webkit-scrollbar-thumb:hover {
            background: var(--accent-secondary);
        }
        
        /* SQL 表名输入框 */
        .sql-table-input {
            display: none;
            background-color: var(--bg-tertiary);
            border: 1px solid var(--bg-primary);
            color: var(--text-primary);
            border-radius: 0.5rem;
            padding: 0.375rem 0.75rem;
            font-size: 0.875rem;
            transition: all 0.2s;
            width: 150px;
        }
        
        .sql-table-input:focus {
            outline: none;
            border-color: var(--accent-primary);
            box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.3);
        }
        
        /* 通知样式 */
        .notification {
            position: fixed;
            bottom: 20px;
            right: 20px;
            padding: 12px 20px;
            border-radius: 0.5rem;
            color: white;
            font-weight: 500;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
            z-index: 1000;
            opacity: 1;
            transition: opacity 0.3s ease;
            animation: slideIn 0.3s ease-out;
        }
        
        .notification.success {
            background-color: var(--success-500);
        }
        
        .notification.error {
            background-color: var(--error-500);
        }
        
        .notification.fade-out {
            opacity: 0;
        }
        
        @keyframes slideIn {
            from { transform: translateX(100%); opacity: 0; }
            to { transform: translateX(0); opacity: 1; }
        }
        
        @media (max-width: 768px) {
            .editor-wrapper {
                flex-direction: column;
                height: calc(100vh - 20rem);
            }
            
            .json-editor, .output-editor {
                width: 100% !important;
            }
            
            .json-editor {
                height: 45%;
            }
            
            .output-editor {
                height: 55%;
            }
            
            .resize-handle {
                width: 100%;
                height: 0.75rem;
                cursor: row-resize;
            }
            
            .resize-handle::after {
                width: 2rem;
                height: 2px;
            }
            
            .sql-table-input {
                width: 100%;
                margin-top: 0.5rem;
            }
        }









/* 添加或修改以下代码到 styles.css 文件中 */

/* 添加或修改以下代码到 styles.css 文件中 */
/* 请替换 styles.css 文件中整个 @media (max-width: 768px) 媒体查询块 */

@media (max-width: 768px) {
    /* 主容器和编辑器外层调整 */
    .main-container {
        padding: 0.5rem; /* 减小主容器内边距 */
        min-height: auto; /* 确保移动端高度不会被固定 */
        width: 100%; /* 确保主容器占据全宽 */
        max-width: none; /* 移除任何最大宽度限制 */
    }

    .editor-wrapper {
        flex-direction: column; /* 在移动端堆叠输入和输出区域 */
        height: auto; /* 高度自适应，不再固定 */
        min-height: auto; /* 移除最小高度限制 */
        margin: 0; /* 移除自动边距 */
    }

    /* 单个编辑器（JSON输入和输出）的调整 */
    .json-editor,
    .output-editor {
        width: 100% !important; /* 确保占据全宽，覆盖内联样式和 Tailwind 类 */
        min-width: unset !important; /* 移除 min-width 限制 */
        max-width: unset !important; /* 移除 max-width 限制 */
        margin: 0.5rem 0; /* 添加垂直间距 */
    }

    .editor-container {
        border-radius: 0.5rem; /* 调整圆角 */
        box-shadow: none; /* 移除阴影，简化视觉 */
        height: auto; /* 确保容器高度自适应内容 */
    }

    /* 编辑器头部调整 */
    .editor-header {
        flex-wrap: wrap; /* 允许标题和按钮换行 */
        height: auto; /* 高度自适应 */
        padding: 0.75rem 1rem; /* 调整内边距 */
        justify-content: center; /* 居中对齐内容 */
        text-align: center;
    }

    .editor-header h2 {
        width: 100%; /* 标题独占一行 */
        margin-bottom: 0.5rem; /* 标题下方留白 */
    }

    .editor-header .flex.space-x-2 { /* 格式化和清除按钮 (输入区) */
        width: 100%; /* 按钮组占据全宽 */
        justify-content: center; /* 按钮居中 */
    }

    .editor-header .flex.items-center.space-x-3 { /* 输出区顶部按钮组 (select + copy/download) */
        flex-direction: column; /* 堆叠下拉菜单和按钮 */
        width: 100%;
        align-items: center; /* 居中对齐 */
        margin-top: 0.5rem; /* 顶部留白 */
    }

    .editor-header .flex.items-center.space-x-2 { /* 下拉菜单和SQL输入框 */
        width: 100%;
        justify-content: center;
        flex-wrap: wrap; /* 允许换行 */
        gap: 0.5rem; /* 间距 */
    }

    /* 下拉菜单和按钮尺寸调整 */
    .dropdown {
        width: 80%; /* 下拉菜单宽度调整 */
        max-width: 250px; /* 最大宽度限制 */
        margin-bottom: 0.5rem; /* 下方留白 */
    }

    .btn-sm {
        padding: 0.5rem 0.75rem; /* 按钮内边距调整 */
        font-size: 0.875rem; /* 按钮字体大小 */
    }

    .btn {
        width: auto; /* 按钮宽度自适应 */
        flex-shrink: 0; /* 防止按钮缩小 */
    }

    /* 编辑器文本区域调整 */
    .editor-content {
        flex-direction: column; /* 行号和文本区域堆叠 */
    }

    .line-numbers {
        display: none; /* 在手机端隐藏行号，节省空间 */
    }

    .editor-textarea-container {
        width: 100%; /* 确保容器占据其父元素的全部宽度 */
    }

    .editor-textarea {
        font-size: 13px; /* 减小字体大小 */
        padding: 0.5rem; /* 减小内边距，使文本区域更宽 */
        min-height: 200px; /* 确保有足够的可见区域 */
        height: 250px; /* 设置一个合适的固定高度 */
        box-sizing: border-box; /* 包含padding和border在内的总宽度/高度 */
    }
    
    .json-editor .editor-textarea {
        height: 250px; /* 为输入框设置固定高度 */
    }

    .output-editor .editor-textarea {
        min-height: 250px; /* 为输出框设置更大的最小高度 */
        height: 250px; /* 为输出框设置固定高度 */
    }

    /* 编辑器底部调整 */
    .editor-footer {
        flex-direction: column; /* 底部信息和示例按钮堆叠 */
        align-items: center; /* 居中对齐 */
        padding: 0.75rem 1rem;
    }

    .editor-footer .flex.justify-between {
        width: 100%; /* 字符计数占据全宽 */
        justify-content: center; /* 居中显示 */
        margin-bottom: 0.5rem; /* 下方留白 */
    }

    .examples-container {
        flex-direction: column; /* 示例按钮堆叠 */
        gap: 0.5rem; /* 减小间距 */
        width: 100%; /* 占据全宽，确保示例按钮容器也充分展开 */
        margin-top: 0.75rem;
    }

    .btn-example {
        width: 100%; /* 示例按钮全宽 */
        text-align: center; /* 文本居中 */
    }

    /* 可调整把手调整 */
    .resize-handle {
        width: 100%; /* 在移动端把手变为全宽 */
        height: 0.75rem; /* 高度变小，适合垂直拖动 */
        cursor: row-resize; /* 鼠标变为垂直调整样式 */
        margin: 0.5rem 0; /* 上下留白 */
        background-color: var(--bg-tertiary); /* 确保背景色可见 */
    }

    .resize-handle::after {
        content: "↑↓"; /* 更改为上下箭头 */
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: auto; /* 宽度自适应 */
        height: auto; /* 高度自适应 */
        background-color: transparent; /* 移除背景 */
        color: var(--text-tertiary); /* 箭头颜色 */
        font-size: 1.2rem; /* 箭头大小 */
    }

    /* 导航栏调整 */
    header .container {
        padding-left: 1rem; /* 调整左右边距 */
        padding-right: 1rem;
        flex-direction: column; /* 导航栏内容堆叠 */
        align-items: center; /* 居中对齐 */
    }

    header .flex.items-center.justify-between {
        flex-direction: column; /* 导航栏内部标题和描述堆叠 */
        text-align: center;
    }

    header .flex.items-center.space-x-3 {
        margin-bottom: 0.5rem; /* 标题下方留白 */
    }

    header p.text-sm {
        margin-top: 0.5rem; /* 描述上方留白 */
        font-size: 0.8rem; /* 减小描述字体 */
        text-align: center;
        padding: 0 0.5rem; /* 调整描述内边距 */
    }
    
    /* 强制显示 SQL 表名输入框，并在移动端调整其样式 */
    .sql-table-input {
        display: block; /* 确保在手机端始终显示 */
        width: 80%; /* 占据大部分宽度 */
        max-width: 250px; /* 最大宽度限制 */
        margin-top: 0.5rem; /* 上方留白 */
    }

    /* 页脚调整 */
    footer {
        padding: 1rem; /* 调整页脚内边距 */
        font-size: 0.75rem; /* 减小页脚字体大小 */
    }
}