        body {
            background-color: #f8f9fa;
            padding-top: 60px;        /* 固定header占位 */
            padding-left: 260px;       /* 固定侧边栏占位 */
        }
        /* 固定顶部导航栏 */
        .app-header {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 60px;
            background-color: #FF8800;   /* 橙色背景 */
            border-bottom: 1px solid #dee2e6;
            padding: 0.75rem 1.5rem;
            z-index: 1040;
            display: flex;
            align-items: center;
            box-shadow: 0 2px 4px rgba(0,0,0,0.05);
            color: #FFFFFF;               /* 白色字体 */
        }
        .app-header h5,
        .app-header span {
            color: inherit;
        }
        .app-header .text-muted {
            color: rgba(255,255,255,0.8) !important;
        }
        /* 固定左侧菜单栏 */
        .sidebar-fixed {
            position: fixed;
            top: 60px;
            left: 0;
            width: 260px;
            bottom: 0;
            background-color: #FFFFFF;   /* 默认白色背景 */
            border-right: 1px solid #dee2e6;
            padding: 1.5rem 1rem;
            overflow-y: auto;
            z-index: 1030;
            box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075);
        }
        /* 右侧主内容区 */
        .main-content {
            padding: 1.5rem;
            min-height: calc(100vh - 60px);
        }
        /* 菜单基础样式 */
        .sidebar-fixed .nav {
            --bs-nav-link-color: #000000;   /* 黑色字体 */
            --bs-nav-link-hover-color: #FF8800;
        }
        .sidebar-fixed .nav .nav-link {
            padding: 0.5rem 1rem;
            border-radius: 0;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            transition: all 0.1s;
            position: relative;
            z-index: 1;
            color: #000000;                 /* 默认黑色 */
            background-color: transparent;
            /* 移除原有的 border-bottom，改用伪元素绘制 */
        }
        /* 伪元素用于背景色和底部线条，覆盖整个侧边栏宽度（根据层级调整左侧偏移） */
        .sidebar-fixed .nav .nav-link::before {
            content: '';
            position: absolute;
            left: -1rem;                    /* 默认覆盖侧边栏左内边距 (1rem) */
            right: -1rem;                    /* 覆盖侧边栏右内边距 */
            top: 0;
            bottom: 0;
            background-color: transparent;
            border-bottom: 1px dashed #f0f0f0; /* 底部线条，延伸到边缘 */
            z-index: -1;
            transition: background-color 0.1s;
            pointer-events: none;
        }
        /* 二级菜单：需要额外覆盖父级 .nav 的 padding-left: 1.5rem */
        .sidebar-fixed .nav .nav .nav-link::before {
            left: calc(-1rem - 1.5rem);
        }
        /* 三级菜单：需要覆盖两层父级 .nav 的 padding-left (1.5rem + 2.5rem) */
        .sidebar-fixed .nav .nav .nav .nav-link::before {
            left: calc(-1rem - 1.5rem - 2.5rem);
        }

        /* 鼠标悬停：背景白色，字体橙色 */
        .sidebar-fixed .nav .nav-link:hover {
            color: #FF8800;
        }
        .sidebar-fixed .nav .nav-link:hover::before {
            background-color: #FFFFFF;
            /* 保留底部线条，不需要额外处理 */
        }
        /* 分支内有active项时，所有非active链接背景浅灰 (#f8f7f6) */
        .menu-top.branch-active .nav-link:not(.active)::before {
            background-color: #f8f7f6;
        }

        /* 子菜单激活时背景变为 #ffcc66（非顶级菜单项） */
        .sidebar-fixed .nav-link.active:not(.menu-top)::before {
            background-color: #FF8800 !important;
            border-bottom: none;
        }

        /* 当子菜单active时，其一级菜单最左边显示5px橙色竖条（使用::after） */
        .menu-top.child-active > .nav-link::after {
            content: '';
            position: absolute;
            left: -1rem;                /* 与背景伪元素左对齐，从侧边栏最左边开始 */
            top: 0;
            bottom: 0;
            width: 5px;
            background-color: #ff8800;  /* 橙色竖条 */
            z-index: 2;                 /* 位于背景之上 */
            pointer-events: none;
        }

        /* active链接：字体白色，保留背景色（子菜单背景已在上面覆盖） */
        .sidebar-fixed .nav .nav-link.active {
            color: #FFFFFF !important;
        }
        /* 一级菜单.active背景保持原有浅灰（不变成#ffcc66） */
        .sidebar-fixed .nav .nav-link.active.menu-top::before {
            background-color: #f8f7f6;
        }

        /* 一级菜单下无子菜单时激活样式：背景橙色，字体白色 */
        .sidebar-fixed .nav .nav-link.active.menu-top:not([data-bs-toggle]) {
            color: #ffffff !important;
        }
        .sidebar-fixed .nav .nav-link.active.menu-top:not([data-bs-toggle])::before {
            background-color: #ff8800 !important;
            border-bottom: none;
        }

        /* 确保分支内非active字体保持黑色（不受悬停影响） */
        .menu-top.branch-active .nav-link:not(.active) {
            color: #000000;
        }

        /* 箭头样式：使用内部图标 */
        .collapse-arrow {
            display: inline-block;
            transition: transform 0.2s;
            margin-left: auto;
            font-size: 0.9rem;
        }
        [aria-expanded="true"] .collapse-arrow {
            transform: rotate(90deg);
        }

        /* 左侧菜单的缩进层次 */
        .sidebar-fixed .nav .nav-item .nav {
            padding-left: 1.5rem;
        }
        .sidebar-fixed .nav .nav-item .nav .nav-item .nav {
            padding-left: 2.5rem;
        }
        /* 预览卡片 */
        .preview-card {
            background-color: white;
            border-radius: 0.75rem;
            border: 1px solid #dee2e6;
            box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075);
            margin-bottom: 2rem;
            overflow: hidden;
        }
        .preview-card .card-header {
            background-color: #f8f9fa;
            border-bottom: 1px solid #e9ecef;
            font-weight: 600;
            padding: 0.75rem 1.25rem;
        }
        .preview-card .card-header i{
            font-size: 1.5rem;
        }
        .preview-card .card-body {
            padding: 1.5rem;
        }
        /* 预览区Markdown渲染样式 */
        .markdown-preview {
            font-size: 1rem;
            line-height: 1.6;
            word-wrap: break-word;
        }
        .markdown-preview h1, .markdown-preview h2, .markdown-preview h3,
        .markdown-preview h4, .markdown-preview h5, .markdown-preview h6 {
            margin-top: 1.5rem;
            margin-bottom: 1rem;
            font-weight: 600;
            color: #212529;
        }
        .markdown-preview h1 { font-size: 2.2rem; border-bottom: 1px solid #e9ecef; padding-bottom: 0.5rem; }
        .markdown-preview h2 { font-size: 1.8rem; border-bottom: 1px solid #e9ecef; padding-bottom: 0.3rem; }
        .markdown-preview h3 { font-size: 1.5rem; }
        .markdown-preview hr { margin: 2rem 0; border-top: 2px dashed #dee2e6; }
        .markdown-preview blockquote {
            padding: 0.75rem 1.25rem;
            margin: 1.5rem 0;
            border-left: 0.4rem solid #6c757d;
            background-color: #f8f9fa;
            border-radius: 0 0.5rem 0.5rem 0;
        }
        .markdown-preview code:not(pre code) {
            background-color: #f1f3f5;
            color: #ff5500;
            padding: 0.2em 0.5em;
            border-radius: 0.3rem;
            font-size: 0.9em;
        }
        .markdown-preview pre {
            background-color: #f6f8fa;
            border: 1px solid #e9ecef;
            border-radius: 0.5rem;
            padding: 1rem;
            overflow-x: auto;
        }
        .markdown-preview pre code { background-color: transparent; color: #212529; padding: 0; }
        .markdown-preview table {
            width: 100%;
            margin-bottom: 1.5rem;
            border-collapse: collapse;
            border: 1px solid #dee2e6;
        }
        .markdown-preview th, .markdown-preview td {
            border: 1px solid #dee2e6;
            padding: 0.6rem 1rem;
        }
        .markdown-preview th { background-color: #f1f3f5; }
        .markdown-preview img { max-width: 100%; border-radius: 0.3rem; }
        .markdown-preview ul, .markdown-preview ol { padding-left: 2rem; }
        .markdown-preview .task-list-item {
            list-style-type: none;
            margin-left: -1.5rem;
        }
        .markdown-preview .task-list-item input[type="checkbox"] {
            margin-right: 0.5rem;
            transform: scale(1.1);
            pointer-events: none;
            opacity: 0.8;
        }
        /* 脚注样式 */
        .markdown-preview .footnotes {
            border-top: 1px dashed #adb5bd;
            margin-top: 2rem;
            padding-top: 1rem;
            font-size: 0.9rem;
            background-color: #f8f9fa;
            border-radius: 0 0 0.5rem 0.5rem;
            padding-left: 1rem;
            padding-right: 1rem;
        }
        .markdown-preview .footnotes li {
            margin-bottom: 0.25rem;
        }
        .markdown-preview a.footnote-backref {
            margin-left: 0.5rem;
            text-decoration: none;
            font-weight: 600;
            color: #0d6efd;
        }
        .markdown-preview a.footnote-ref {
            text-decoration: none;
            font-weight: 500;
        }
        /* 搜索框样式 */
        .sidebar-search {
            margin-bottom: 1rem;
        }
        .qg-link {
            margin-top: 20px;
            border: 1px solid #ff8800;
            padding: 5px;
            background-color: #f8f7f6;
            text-align: center;
            color: #ff8800;
            text-decoration: none;
        }
        .qg-link:hover{
            text-decoration: none;
            background-color: #ff8800;
            color: #ffffff;
        }
        .qg-link a:link,a:active,a:disabled{
            text-decoration: none;
            color: #ff8800;
        }