        /* 我的GGB - 使用CSS变量继承标准样式 */
        .course-page.subject-my-ggb {
            --subject-color: #4a6fa5;
            --subject-dark: #3d5a80;
            --subject-light: #6b8cae;
        }
        
        /* 统计信息 */
        .works-stats {
            padding: 8px 16px;
            font-size: 12px;
            color: #6b7280;
            background: #f8fafc;
            display: flex;
            justify-content: space-between;
        }
        
        /* 作品列表项 - 上下两行布局 */
        .work-item {
            display: flex;
            flex-direction: column;
            gap: 4px;
            padding: 10px 12px;
            border-left: 3px solid transparent;
            cursor: pointer;
            transition: all 0.15s ease;
        }
        
        .work-item:hover {
            background: rgba(74, 111, 165, 0.08);
            border-left-color: var(--subject-color);
        }
        
        .work-item.active {
            background: rgba(74, 111, 165, 0.12);
            border-left-color: var(--subject-color);
        }
        
        .work-item .work-icon {
            display: none;
        }
        
        .work-item .work-info {
            min-width: 0;
            width: 100%;
        }
        
        .work-item .work-title {
            font-size: 13px;
            font-weight: 500;
            color: #1f2937;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        
        .work-item .work-meta {
            font-size: 11px;
            color: #9ca3af;
            margin-top: 0;
        }
        
        .work-item .work-subject {
            color: var(--subject-color);
        }
        
        /* 底部按钮行 */
        .work-item .work-bottom {
            display: flex;
            align-items: center;
            gap: 4px;
        }
        
        .work-item .work-actions {
            display: flex;
            gap: 2px;
            opacity: 0;
            transition: opacity 0.15s;
        }
        
        .work-item:hover .work-actions {
            opacity: 1;
        }
        
        .work-item .action-btn {
            width: 26px;
            height: 26px;
            border: none;
            background: transparent;
            color: #9ca3af;
            border-radius: 4px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 12px;
        }
        
        .work-item .action-btn:hover {
            background: rgba(74, 111, 165, 0.15);
            color: var(--subject-color);
        }
        
        .work-item .action-btn.delete:hover {
            background: rgba(239, 68, 68, 0.1);
            color: #ef4444;
        }
        
        /* GGB头部额外按钮 - 加大尺寸 */
        .ggb-header-right .ggb-action-btn {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 8px 16px;
            border: none;
            background: rgba(255, 255, 255, 0.2);
            color: white;
            border-radius: 6px;
            font-size: 14px;
            font-weight: 500;
            cursor: pointer;
            transition: all 0.2s;
        }
        
        .ggb-header-right .ggb-action-btn:hover {
            background: rgba(255, 255, 255, 0.3);
        }
        
        .ggb-header-right .ggb-action-btn.delete {
            background: rgba(239, 68, 68, 0.8);
        }
        
        .ggb-header-right .ggb-action-btn.delete:hover {
            background: rgba(220, 38, 38, 0.9);
        }
        
        /* 公开/私密按钮 */
        .ggb-header-right .ggb-action-btn.public {
            background: rgba(107, 114, 128, 0.6);
        }
        
        .ggb-header-right .ggb-action-btn.public:hover {
            background: rgba(107, 114, 128, 0.8);
        }
        
        .ggb-header-right .ggb-action-btn.public.is-public {
            background: rgba(16, 185, 129, 0.8);
        }
        
        .ggb-header-right .ggb-action-btn.public.is-public:hover {
            background: rgba(5, 150, 105, 0.9);
        }
        
        /* 已下载作品按钮 */
        .ggb-header-right .ggb-action-btn.downloaded-btn {
            background: rgba(16, 185, 129, 0.8);
        }
        
        .ggb-header-right .ggb-action-btn.downloaded-btn:hover {
            background: rgba(5, 150, 105, 0.9);
        }
        
        /* 自己的作品按钮 */
        .ggb-header-right .ggb-action-btn.own-work-btn {
            background: rgba(59, 130, 246, 0.8);
        }
        
        .ggb-header-right .ggb-action-btn.own-work-btn:hover {
            background: rgba(37, 99, 235, 0.9);
        }
        
        /* 全屏按钮去掉边框 */
        .ggb-header-right .fullscreen-btn {
            border: none !important;
        }
        
        /* 登录提示/空状态 */
        .login-required,
        .empty-state {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            flex: 1;
            text-align: center;
            padding: 2rem;
            color: #6b7280;
        }
        
        .login-required > i,
        .empty-state > i {
            font-size: 3rem;
            margin-bottom: 1rem;
            color: var(--subject-color);
        }
        
        .empty-state i {
            color: #d1d5db;
        }
        
        .login-required h3,
        .empty-state h3 {
            font-size: 1.25rem;
            color: #374151;
            margin-bottom: 0.5rem;
        }
        
        .login-required .login-btn,
        .empty-state .create-btn {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.75rem 1.5rem;
            background: linear-gradient(135deg, var(--subject-color) 0%, var(--subject-dark) 100%);
            color: white;
            border: none;
            border-radius: 8px;
            font-size: 0.9rem;
            font-weight: 500;
            text-decoration: none;
            margin-top: 1rem;
            transition: all 0.2s;
        }
        
        .login-required .login-btn:hover,
        .empty-state .create-btn:hover {
            transform: translateY(-1px);
            box-shadow: 0 4px 12px rgba(74, 111, 165, 0.3);
        }
        
        /* 窗口内全屏模式 */
        .ggb-panel.fullscreen {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 9999;
            border-radius: 0;
            margin: 0;
            background: #1a1a2e;
        }
        
        .ggb-panel.fullscreen .ggb-header {
            padding: 0.5rem 1rem;
            background: linear-gradient(135deg, var(--subject-color) 0%, var(--subject-dark) 100%);
            opacity: 0.95;
        }
        
        .ggb-panel.fullscreen .ggb-display-area {
            background: #1a1a2e;
        }
        
        .ggb-panel.fullscreen .ggb-display-window {
            border-radius: 0;
            box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
        }
        
        .ggb-panel.fullscreen .ggb-tips {
            display: none;
        }
        
        /* ==================== 文件夹相关样式 ==================== */
        
        /* 新建文件夹模态框 */
        .folder-modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.5);
            z-index: 10000;
            align-items: center;
            justify-content: center;
        }

        .folder-modal.show {
            display: flex;
        }

        .folder-modal-content {
            background: white;
            border-radius: 16px;
            width: 400px;
            max-width: 90%;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
            overflow: hidden;
        }

        .folder-modal-header {
            padding: 20px;
            border-bottom: 1px solid #e5e7eb;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        .folder-modal-header h3 {
            margin: 0;
            font-size: 18px;
            color: #1f2937;
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .folder-modal-header h3 i {
            color: #d97706;
        }

        .folder-modal-close {
            width: 32px;
            height: 32px;
            border: none;
            background: #f3f4f6;
            border-radius: 8px;
            color: #6b7280;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .folder-modal-close:hover {
            background: #e5e7eb;
            color: #374151;
        }

        .folder-modal-body {
            padding: 20px;
        }

        .folder-modal-body .form-group {
            margin-bottom: 20px;
        }

        .folder-modal-body .form-group:last-child {
            margin-bottom: 0;
        }

        .folder-modal-body label {
            display: block;
            font-size: 14px;
            font-weight: 600;
            color: #374151;
            margin-bottom: 10px;
        }

        .subject-cards {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 8px;
        }

        .subject-card {
            padding: 8px 4px;
            border: 2px solid #e5e7eb;
            border-radius: 8px;
            cursor: pointer;
            text-align: center;
            transition: all 0.2s;
            background: white;
        }

        .subject-card:hover {
            border-color: #c7d2fe;
            background: #f5f3ff;
        }

        .subject-card.selected {
            border-color: var(--subject-color);
            background: rgba(74, 111, 165, 0.1);
        }

        .subject-card .subject-icon {
            font-size: 18px;
            margin-bottom: 2px;
        }

        .subject-card .subject-name {
            font-size: 12px;
            color: #374151;
            font-weight: 500;
        }

        .folder-input {
            width: 100%;
            padding: 12px 16px;
            border: 2px solid #e5e7eb;
            border-radius: 10px;
            font-size: 15px;
            color: #1f2937;
            transition: border-color 0.2s;
            box-sizing: border-box;
        }

        .folder-input:focus {
            outline: none;
            border-color: var(--subject-color);
        }

        .folder-modal-footer {
            padding: 16px 20px;
            background: #f9fafb;
            display: flex;
            justify-content: flex-end;
            gap: 12px;
        }

        .folder-modal-footer .btn-cancel {
            padding: 10px 20px;
            border: 1px solid #e5e7eb;
            background: white;
            border-radius: 8px;
            font-size: 14px;
            color: #6b7280;
            cursor: pointer;
        }

        .folder-modal-footer .btn-cancel:hover {
            background: #f3f4f6;
        }

        .folder-modal-footer .btn-confirm {
            padding: 10px 24px;
            border: none;
            background: linear-gradient(135deg, #d97706 0%, #b45309 100%);
            border-radius: 8px;
            font-size: 14px;
            color: white;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 6px;
            font-weight: 500;
        }

        .folder-modal-footer .btn-confirm:hover {
            filter: brightness(1.1);
        }
        
        /* 文件夹操作按钮 */
        .folder-actions {
            padding: 8px 16px;
            border-bottom: 1px solid #e5e7eb;
            display: flex;
            gap: 8px;
        }
        
        .folder-actions button {
            flex: 1;
            padding: 6px 10px;
            border: 1px solid #e5e7eb;
            background: white;
            border-radius: 6px;
            font-size: 12px;
            color: #6b7280;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 4px;
            transition: all 0.15s;
        }
        
        .folder-actions button:hover {
            border-color: var(--subject-color);
            color: var(--subject-color);
            background: rgba(74, 111, 165, 0.05);
        }
        
        /* 文件夹组 */
        .folder-group {
            border-bottom: 1px solid #f0f0f0;
        }
        
        .folder-group:last-child {
            border-bottom: none;
        }
        
        /* 学科标题行 */
        .subject-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 10px 16px;
            background: #f8fafc;
            border-bottom: 1px solid #e5e7eb;
            cursor: pointer;
            user-select: none;
        }
        
        .subject-header:hover {
            background: #f1f5f9;
        }
        
        /* 固定头部容器 */
        .sticky-headers-container {
            flex-shrink: 0;
            z-index: 30;
        }
        
        .sticky-header {
            /* 继承原有样式，不做改动 */
        }
        
        .subject-header .subject-title {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 13px;
            font-weight: 600;
            color: #374151;
        }
        
        .subject-header .subject-title i {
            color: var(--subject-color);
        }
        
        .subject-header .subject-count {
            font-size: 11px;
            color: #9ca3af;
            background: #e5e7eb;
            padding: 2px 8px;
            border-radius: 10px;
        }
        
        .subject-header .toggle-icon {
            color: #9ca3af;
            font-size: 12px;
            transition: transform 0.2s;
        }
        
        .subject-header.collapsed .toggle-icon {
            transform: rotate(-90deg);
        }
        
        /* 学科内容区 */
        .subject-content {
            display: block;
        }
        
        .subject-content.collapsed {
            display: none;
        }
        
        /* 文件夹项 */
        .folder-item {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 10px 16px 10px 8px;
            cursor: pointer;
            transition: all 0.15s;
            border-left: 3px solid transparent;
            background: white;
        }
        
        .folder-item:hover {
            background: #f0f4f8;
        }
        
        .folder-item.active {
            background: #e3eaf3;
            border-left-color: var(--subject-color);
        }
        
        .folder-item .folder-icon {
            width: 28px;
            height: 28px;
            border-radius: 6px;
            background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            color: #d97706;
            font-size: 12px;
            flex-shrink: 0;
        }
        
        .folder-item .folder-info {
            flex: 1;
            min-width: 0;
        }
        
        .folder-item .folder-name {
            font-size: 13px;
            color: #374151;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        
        .folder-item .folder-count {
            font-size: 11px;
            color: #9ca3af;
        }
        
        /* 文件夹折叠图标 */
        .folder-item .folder-toggle {
            width: 20px;
            height: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #9ca3af;
            font-size: 10px;
            transition: transform 0.2s;
            flex-shrink: 0;
        }
        
        .folder-item.collapsed .folder-toggle {
            transform: rotate(-90deg);
        }
        
        .folder-item .folder-actions-btn {
            display: flex;
            gap: 2px;
            opacity: 0;
            transition: opacity 0.15s;
        }
        
        .folder-item:hover .folder-actions-btn {
            opacity: 1;
        }
        
        .folder-item .action-btn {
            width: 24px;
            height: 24px;
            border: none;
            background: transparent;
            color: #9ca3af;
            border-radius: 4px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 11px;
        }
        
        .folder-item .action-btn:hover {
            background: rgba(74, 111, 165, 0.15);
            color: var(--subject-color);
        }
        
        .folder-item .action-btn.delete:hover {
            background: rgba(239, 68, 68, 0.1);
            color: #ef4444;
        }
        
        /* 文件夹内容折叠 */
        .folder-files.collapsed {
            display: none;
        }
        
        /* 未分类文件夹 */
        .uncategorized-item {
            padding-left: 8px;
        }
        
        .uncategorized-item .folder-icon {
            background: linear-gradient(135deg, #e5e7eb 0%, #d1d5db 100%);
            color: #6b7280;
        }
        
        /* 文件夹内的作品项缩进 */
        .folder-files .work-item {
            padding-left: 24px;
        }
        
        /* 移动到文件夹按钮 */
        .work-item .action-btn.move {
            color: #d97706;
        }
        
        .work-item .action-btn.move:hover {
            background: rgba(217, 119, 6, 0.1);
            color: #b45309;
        }
        
        /* 文件夹选择弹窗 */
        .folder-select-modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.5);
            z-index: 10000;
            align-items: center;
            justify-content: center;
        }
        
        .folder-select-modal.show {
            display: flex;
        }
        
        .folder-select-content {
            background: white;
            border-radius: 16px;
            width: 360px;
            max-height: 500px;
            overflow: hidden;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
        }
        
        .folder-select-header {
            padding: 20px;
            border-bottom: 1px solid #e5e7eb;
            display: flex;
            align-items: center;
            justify-content: space-between;
            background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
        }
        
        .folder-select-header h3 {
            font-size: 16px;
            font-weight: 600;
            color: #92400e;
            margin: 0;
            display: flex;
            align-items: center;
            gap: 8px;
        }
        
        .folder-select-header .close-btn {
            width: 32px;
            height: 32px;
            border: none;
            background: rgba(255, 255, 255, 0.5);
            color: #92400e;
            border-radius: 8px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .folder-select-header .close-btn:hover {
            background: rgba(255, 255, 255, 0.8);
        }
        
        .folder-select-info {
            padding: 12px 16px;
            background: #f9fafb;
            border-bottom: 1px solid #e5e7eb;
        }
        
        .folder-select-info .file-name {
            font-size: 13px;
            font-weight: 500;
            color: #374151;
            margin-bottom: 4px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        
        .folder-select-info .current-location {
            font-size: 12px;
            color: #6b7280;
            display: flex;
            align-items: center;
            gap: 4px;
        }
        
        .folder-select-info .current-location i {
            color: #d97706;
            font-size: 11px;
        }
        
        .folder-select-body {
            max-height: 320px;
            overflow-y: auto;
            padding: 8px 0;
        }
        
        .folder-select-section {
            padding: 8px 16px 4px;
            font-size: 11px;
            font-weight: 600;
            color: #9ca3af;
            text-transform: uppercase;
        }
        
        .folder-select-item {
            padding: 12px 16px;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 12px;
            transition: all 0.15s;
            margin: 0 8px;
            border-radius: 8px;
        }
        
        .folder-select-item:hover {
            background: #fef3c7;
        }
        
        .folder-select-item.current {
            background: #e0f2fe;
            cursor: default;
        }
        
        .folder-select-item.current::after {
            content: '当前位置';
            font-size: 11px;
            color: #0284c7;
            background: #bae6fd;
            padding: 2px 8px;
            border-radius: 10px;
            margin-left: auto;
        }
        
        .folder-select-item .folder-icon {
            width: 32px;
            height: 32px;
            border-radius: 8px;
            background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }
        
        .folder-select-item .folder-icon i {
            color: #d97706;
            font-size: 14px;
        }
        
        .folder-select-item.uncategorized .folder-icon {
            background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
        }
        
        .folder-select-item.uncategorized .folder-icon i {
            color: #6b7280;
        }
        
        .folder-select-item .folder-label {
            flex: 1;
            min-width: 0;
        }
        
        .folder-select-item .folder-label .name {
            font-size: 14px;
            font-weight: 500;
            color: #374151;
        }
        
        .folder-select-item .folder-label .count {
            font-size: 12px;
            color: #9ca3af;
        }
        
        .folder-select-empty {
            padding: 24px 16px;
            text-align: center;
        }
        
        .folder-select-empty p {
            margin: 0 0 12px 0;
            font-size: 13px;
            color: #9ca3af;
        }
        
        .folder-select-empty button {
            padding: 8px 16px;
            background: linear-gradient(135deg, #d97706 0%, #b45309 100%);
            color: white;
            border: none;
            border-radius: 8px;
            font-size: 13px;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 6px;
        }
        
        .folder-select-empty button:hover {
            filter: brightness(1.1);
        }
        
        /* ==================== 标签页切换样式 ==================== */
        .tab-container {
            display: flex;
            border-bottom: 1px solid #e5e7eb;
            background: #f8fafc;
        }
        
        .tab-btn {
            flex: 1;
            padding: 12px 8px;
            border: none;
            background: transparent;
            font-size: 13px;
            font-weight: 500;
            color: #6b7280;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
            transition: all 0.2s;
            position: relative;
        }
        
        .tab-btn:hover {
            color: var(--subject-color);
            background: rgba(74, 111, 165, 0.05);
        }
        
        .tab-btn.active {
            color: var(--subject-color);
            background: white;
        }
        
        .tab-btn.active::after {
            content: '';
            position: absolute;
            bottom: -1px;
            left: 0;
            right: 0;
            height: 2px;
            background: var(--subject-color);
        }
        
        .tab-btn i {
            font-size: 12px;
        }
        
        /* 侧边栏滚动修复 */
        .sidebar {
            display: flex;
            flex-direction: column;
            overflow: hidden;
        }
        
        /* 我的作品和作品广场区域 - 支持滚动 */
        #my-works-section,
        #plaza-section {
            display: flex;
            flex-direction: column;
            flex: 1;
            overflow: hidden;
            min-height: 0;
        }
        
        #my-works-section .catalog-nav,
        #plaza-section .catalog-nav {
            flex: 1;
            overflow-y: auto;
            min-height: 0;
        }
        
        /* 作品广场筛选 */
        .plaza-filters {
            padding: 8px 12px;
            border-bottom: 1px solid #e5e7eb;
            display: flex;
            gap: 6px;
            flex-wrap: wrap;
        }
        
        .plaza-filter-btn {
            padding: 4px 10px;
            border: 1px solid #e5e7eb;
            background: white;
            border-radius: 12px;
            font-size: 11px;
            color: #6b7280;
            cursor: pointer;
            transition: all 0.15s;
        }
        
        .plaza-filter-btn:hover {
            border-color: var(--subject-color);
            color: var(--subject-color);
        }
        
        .plaza-filter-btn.active {
            border-color: var(--subject-color);
            background: var(--subject-color);
            color: white;
        }
        
        /* 公开作品项 */
        .plaza-item {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 12px 16px;
            border-left: 3px solid transparent;
            cursor: pointer;
            transition: all 0.15s ease;
        }
        
        .plaza-item:hover {
            background: rgba(74, 111, 165, 0.08);
            border-left-color: var(--subject-color);
        }
        
        .plaza-item.active {
            background: rgba(74, 111, 165, 0.12);
            border-left-color: var(--subject-color);
        }
        
        .plaza-item .plaza-icon {
            width: 36px;
            height: 36px;
            border-radius: 8px;
            background: linear-gradient(135deg, #fef3c7 0%, #fcd34d 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            color: #d97706;
            font-size: 14px;
            flex-shrink: 0;
        }
        
        .plaza-item .plaza-info {
            flex: 1;
            min-width: 0;
        }
        
        .plaza-item .plaza-title {
            font-size: 13px;
            font-weight: 500;
            color: #1f2937;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        
        .plaza-item .plaza-meta {
            font-size: 11px;
            color: #9ca3af;
            margin-top: 2px;
            display: flex;
            align-items: center;
            gap: 6px;
        }
        
        .plaza-item .plaza-author {
            color: #6b7280;
        }
        
        .plaza-item .plaza-downloads {
            color: #10b981;
        }
        
        .plaza-item .plaza-downloads i {
            margin-right: 2px;
        }
        
        /* 已下载/自己的作品样式 */
        .plaza-item.downloaded .plaza-icon {
            background: linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%);
            color: #059669;
        }
        
        .plaza-item.own-work .plaza-icon {
            background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
            color: #2563eb;
        }
        
        /* 状态徽章 */
        .plaza-badge {
            display: inline-block;
            padding: 1px 5px;
            border-radius: 8px;
            font-size: 10px;
            font-weight: 500;
            margin-left: 6px;
            vertical-align: middle;
        }
        
        .badge-downloaded {
            background: #d1fae5;
            color: #059669;
        }
        
        .badge-own {
            background: #dbeafe;
            color: #2563eb;
        }
        
        /* 作品状态区域 - 紧凑左对齐 */
        .work-status {
            flex-shrink: 0;
            margin-right: 2px;
        }
        
        /* 公开/私密切换按钮 - 紧凑样式 */
        .public-toggle-btn {
            display: inline-flex;
            align-items: center;
            gap: 2px;
            padding: 2px 5px;
            border-radius: 10px;
            font-size: 10px;
            font-weight: 500;
            cursor: pointer;
            border: none;
            transition: all 0.2s;
            white-space: nowrap;
        }
        
        .public-toggle-btn.is-public {
            background: rgba(16, 185, 129, 0.15);
            color: #059669;
        }
        
        .public-toggle-btn.is-public:hover {
            background: rgba(16, 185, 129, 0.25);
        }
        
        .public-toggle-btn.is-private {
            background: rgba(107, 114, 128, 0.1);
            color: #9ca3af;
        }
        
        .public-toggle-btn.is-private:hover {
            background: rgba(107, 114, 128, 0.18);
            color: #6b7280;
        }
        
        .public-toggle-btn i {
            font-size: 9px;
        }
        
        .public-toggle-btn span {
            font-size: 10px;
        }
        
        .public-toggle-btn .download-count {
            background: rgba(5, 150, 105, 0.2);
            padding: 0 4px;
            border-radius: 6px;
            font-size: 9px;
            margin-left: 1px;
        }
        
        /* 加载更多按钮 */
        .load-more-btn {
            display: block;
            width: calc(100% - 32px);
            margin: 12px 16px;
            padding: 10px;
            border: 1px dashed #d1d5db;
            background: transparent;
            border-radius: 8px;
            font-size: 13px;
            color: #6b7280;
            cursor: pointer;
            transition: all 0.2s;
        }
        
        .load-more-btn:hover {
            border-color: var(--subject-color);
            color: var(--subject-color);
            background: rgba(74, 111, 165, 0.05);
        }
        
        .load-more-btn:disabled {
            opacity: 0.5;
            cursor: not-allowed;
        }
        
        /* 积分提示 */
        .credits-tip {
            padding: 8px 16px;
            background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
            font-size: 12px;
            color: #92400e;
            display: flex;
            align-items: center;
            gap: 6px;
        }
        
        .credits-tip i {
            color: #d97706;
        }
        
        /* 公开分享提示 */
        .share-tip {
            padding: 8px 16px;
            background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
            font-size: 12px;
            color: #1e40af;
            display: flex;
            align-items: center;
            gap: 6px;
            border-bottom: 1px solid rgba(59, 130, 246, 0.1);
        }
        
        .share-tip i {
            color: #3b82f6;
        }
        
        .share-tip strong {
            color: #059669;
            font-weight: 600;
        }
        
        /* ==================== 作品广场面板样式 ==================== */
        .plaza-panel {
            display: flex;
            flex-direction: column;
            height: 100%;
            background: #f8fafc;
        }
        
        .plaza-header-bar {
            display: flex;
            align-items: center;
            padding: 12px 24px;
            background: white;
            border-bottom: 1px solid #e5e7eb;
            gap: 16px;
            flex-wrap: wrap;
        }
        
        .plaza-header-bar h2 {
            margin: 0;
            font-size: 18px;
            font-weight: 600;
            color: #1f2937;
            display: flex;
            align-items: center;
            gap: 8px;
            white-space: nowrap;
        }
        
        .plaza-header-bar h2 i {
            color: var(--subject-color);
        }
        
        .plaza-filters-bar {
            flex: 1;
            display: flex;
            gap: 8px;
            flex-wrap: wrap;
        }
        
        .plaza-filter-chip {
            padding: 6px 14px;
            border: 1px solid #e5e7eb;
            background: white;
            border-radius: 20px;
            font-size: 13px;
            color: #6b7280;
            cursor: pointer;
            transition: all 0.15s;
        }
        
        .plaza-filter-chip:hover {
            border-color: var(--subject-color);
            color: var(--subject-color);
        }
        
        .plaza-filter-chip.active {
            background: var(--subject-color);
            border-color: var(--subject-color);
            color: white;
        }
        
        .plaza-sort select,
        .plaza-pagesize select {
            padding: 6px 12px;
            border: 1px solid #e5e7eb;
            border-radius: 6px;
            font-size: 13px;
            color: #374151;
            background: white;
            cursor: pointer;
        }
        
        .plaza-toolbar-right {
            display: flex;
            gap: 12px;
            align-items: center;
        }
        
        .plaza-search {
            display: flex;
            align-items: center;
            background: white;
            border: 1px solid #e5e7eb;
            border-radius: 20px;
            overflow: hidden;
            transition: border-color 0.15s;
        }
        
        .plaza-search:focus-within {
            border-color: var(--subject-color);
        }
        
        .plaza-search input {
            border: none;
            outline: none;
            padding: 6px 12px;
            font-size: 13px;
            width: 160px;
            background: transparent;
        }
        
        .plaza-search button {
            background: none;
            border: none;
            padding: 6px 12px;
            color: #9ca3af;
            cursor: pointer;
            transition: color 0.15s;
        }
        
        .plaza-search button:hover {
            color: var(--subject-color);
        }
        
        .plaza-filter-divider {
            width: 1px;
            height: 20px;
            background: #e5e7eb;
            margin: 0 4px;
        }
        
        .plaza-filter-chip i {
            margin-right: 4px;
        }
        
        .plaza-credits-info {
            padding: 10px 24px;
            background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
            font-size: 13px;
            color: #92400e;
            display: flex;
            align-items: center;
            gap: 8px;
        }
        
        .plaza-credits-info i {
            color: #d97706;
        }
        
        .plaza-credits-info strong {
            color: #b45309;
        }
        
        .plaza-grid {
            flex: 1;
            padding: 20px 24px;
            overflow-y: auto;
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
            gap: 20px;
            align-content: start;
        }
        
        .plaza-loading {
            grid-column: 1 / -1;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 60px 20px;
            color: #9ca3af;
            gap: 12px;
        }
        
        .plaza-loading i {
            font-size: 2rem;
        }
        
        .plaza-empty {
            grid-column: 1 / -1;
            text-align: center;
            padding: 60px 20px;
            color: #9ca3af;
        }
        
        .plaza-empty i {
            font-size: 3rem;
            margin-bottom: 16px;
            display: block;
            color: #d1d5db;
        }
        
        /* 作品卡片 */
        .plaza-card {
            background: white;
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
            transition: all 0.2s;
            cursor: pointer;
            display: flex;
            flex-direction: column;
            height: 240px;
        }
        
        .plaza-card:hover {
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
            transform: translateY(-2px);
        }
        
        .plaza-card-thumbnail {
            width: 100%;
            height: 160px;
            flex-shrink: 0;
            background: #f0f4f8;
            position: relative;
            overflow: hidden;
        }
        
        .plaza-card-thumbnail img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        
        .plaza-card-thumbnail .placeholder {
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(135deg, #e2e8f0 0%, #cbd5e1 100%);
            color: #94a3b8;
            font-size: 2rem;
        }
        
        .plaza-card-badge {
            position: absolute;
            top: 8px;
            right: 8px;
            padding: 3px 8px;
            border-radius: 10px;
            font-size: 10px;
            font-weight: 500;
        }
        
        .plaza-card-badge.own {
            background: #dbeafe;
            color: #2563eb;
        }
        
        .plaza-card-badge.downloaded {
            background: #d1fae5;
            color: #059669;
        }
        
        .plaza-card-subject {
            position: absolute;
            top: 8px;
            left: 8px;
            padding: 3px 8px;
            border-radius: 10px;
            font-size: 10px;
            font-weight: 500;
            background: rgba(0, 0, 0, 0.6);
            color: white;
        }
        
        .plaza-card-body {
            padding: 12px;
            flex: 1;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            min-height: 0;
        }
        
        .plaza-card-title {
            font-size: 14px;
            font-weight: 500;
            color: #1f2937;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        
        .plaza-card-meta {
            display: flex;
            align-items: center;
            justify-content: space-between;
            font-size: 12px;
            color: #6b7280;
        }
        
        .plaza-card-author {
            display: flex;
            align-items: center;
            gap: 4px;
            max-width: 60%;
            overflow: hidden;
        }
        
        .plaza-card-author span {
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        
        .plaza-card-author i {
            color: #9ca3af;
            flex-shrink: 0;
        }
        
        .plaza-card-downloads {
            display: flex;
            align-items: center;
            gap: 4px;
            color: #10b981;
            flex-shrink: 0;
        }
        
        /* 分页组件 */
        .plaza-pagination-container {
            padding: 20px 24px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            background: #f8fafc;
            flex-wrap: wrap;
            flex-shrink: 0;
        }
        
        .plaza-pagination-btn {
            min-width: 36px;
            height: 36px;
            padding: 0 12px;
            border: 1px solid #e5e7eb;
            background: white;
            border-radius: 8px;
            font-size: 14px;
            color: #6b7280;
            cursor: pointer;
            transition: all 0.15s;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
        }
        
        .plaza-pagination-btn:hover:not(:disabled) {
            border-color: var(--subject-color);
            color: var(--subject-color);
        }
        
        .plaza-pagination-btn:disabled {
            opacity: 0.5;
            cursor: not-allowed;
        }
        
        .plaza-pagination-btn.active {
            background: var(--subject-color);
            border-color: var(--subject-color);
            color: white;
        }
        
        .plaza-pagination-info {
            font-size: 13px;
            color: #9ca3af;
            margin: 0 8px;
        }
        
        /* 作品预览弹窗 */
        .plaza-preview-modal {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.6);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 10000;
            padding: 20px;
        }
        
        .plaza-preview-content {
            background: white;
            border-radius: 16px;
            width: 100%;
            max-width: 900px;
            max-height: 90vh;
            display: flex;
            flex-direction: column;
            overflow: hidden;
        }
        
        .plaza-preview-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 16px 20px;
            border-bottom: 1px solid #e5e7eb;
        }
        
        .plaza-preview-header h3 {
            margin: 0;
            font-size: 18px;
            font-weight: 600;
            color: #1f2937;
        }
        
        .plaza-preview-header .meta {
            font-size: 13px;
            color: #6b7280;
            margin-top: 4px;
        }
        
        .plaza-preview-close {
            width: 36px;
            height: 36px;
            border: none;
            background: #f3f4f6;
            border-radius: 50%;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #6b7280;
            font-size: 16px;
            transition: all 0.15s;
        }
        
        .plaza-preview-close:hover {
            background: #e5e7eb;
            color: #374151;
        }
        
        .plaza-preview-body {
            flex: 1;
            min-height: 400px;
            background: #f8fafc;
        }
        
        .plaza-preview-footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 16px 20px;
            border-top: 1px solid #e5e7eb;
            background: #f8fafc;
        }
        
        .plaza-preview-info {
            font-size: 13px;
            color: #6b7280;
        }
        
        .plaza-preview-info strong {
            color: #059669;
        }
        
        .plaza-preview-actions {
            display: flex;
            gap: 12px;
        }
        
        .plaza-preview-btn {
            padding: 10px 20px;
            border: none;
            border-radius: 8px;
            font-size: 14px;
            font-weight: 500;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 6px;
            transition: all 0.15s;
        }
        
        .plaza-preview-btn.primary {
            background: var(--subject-color);
            color: white;
        }
        
        .plaza-preview-btn.primary:hover {
            filter: brightness(1.1);
        }
        
        .plaza-preview-btn.secondary {
            background: #e5e7eb;
            color: #374151;
        }
        
        .plaza-preview-btn.secondary:hover {
            background: #d1d5db;
        }
        
        /* 响应式 */
        @media (max-width: 768px) {
            .work-item .work-actions { opacity: 1; }
            .ggb-action-btn span { display: none; }
            .folder-item .folder-actions-btn { opacity: 1; }
            .tab-btn span { display: none; }
            .tab-btn i { font-size: 14px; }
        }
        
        /* ==================== 自定义弹窗样式 ==================== */
        .custom-modal-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.5);
            z-index: 10001;
            align-items: center;
            justify-content: center;
            backdrop-filter: blur(4px);
            animation: fadeIn 0.2s ease;
        }
        
        .custom-modal-overlay.show {
            display: flex;
        }
        
        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }
        
        @keyframes slideIn {
            from { transform: scale(0.9) translateY(-20px); opacity: 0; }
            to { transform: scale(1) translateY(0); opacity: 1; }
        }
        
        .custom-modal {
            background: white;
            border-radius: 16px;
            width: 400px;
            max-width: 90%;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
            overflow: hidden;
            animation: slideIn 0.25s ease;
        }
        
        .custom-modal-header {
            padding: 20px 24px 16px;
            display: flex;
            align-items: center;
            gap: 12px;
        }
        
        .custom-modal-header .modal-icon {
            width: 44px;
            height: 44px;
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 20px;
            flex-shrink: 0;
        }
        
        .custom-modal-header .modal-icon.confirm {
            background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
            color: #d97706;
        }
        
        .custom-modal-header .modal-icon.warning {
            background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
            color: #dc2626;
        }
        
        .custom-modal-header .modal-icon.success {
            background: linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%);
            color: #059669;
        }
        
        .custom-modal-header .modal-icon.info {
            background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
            color: #2563eb;
        }
        
        .custom-modal-header .modal-icon.input {
            background: linear-gradient(135deg, #e0e7ff 0%, #c7d2fe 100%);
            color: #4f46e5;
        }
        
        .custom-modal-header h3 {
            margin: 0;
            font-size: 18px;
            font-weight: 600;
            color: #1f2937;
        }
        
        .custom-modal-body {
            padding: 0 24px 20px;
        }
        
        .custom-modal-body p {
            margin: 0;
            font-size: 14px;
            color: #6b7280;
            line-height: 1.6;
        }
        
        .custom-modal-body .modal-input {
            width: 100%;
            padding: 12px 16px;
            border: 2px solid #e5e7eb;
            border-radius: 10px;
            font-size: 15px;
            color: #1f2937;
            transition: border-color 0.2s;
            box-sizing: border-box;
            margin-top: 12px;
        }
        
        .custom-modal-body .modal-input:focus {
            outline: none;
            border-color: var(--subject-color, #4a6fa5);
        }
        
        .custom-modal-footer {
            padding: 16px 24px;
            background: #f9fafb;
            display: flex;
            justify-content: flex-end;
            gap: 12px;
        }
        
        .custom-modal-footer .modal-btn {
            padding: 10px 20px;
            border-radius: 8px;
            font-size: 14px;
            font-weight: 500;
            cursor: pointer;
            transition: all 0.2s;
            border: none;
        }
        
        .custom-modal-footer .modal-btn-cancel {
            background: white;
            border: 1px solid #e5e7eb;
            color: #6b7280;
        }
        
        .custom-modal-footer .modal-btn-cancel:hover {
            background: #f3f4f6;
            border-color: #d1d5db;
        }
        
        .custom-modal-footer .modal-btn-confirm {
            background: linear-gradient(135deg, var(--subject-color, #4a6fa5) 0%, var(--subject-dark, #3d5a80) 100%);
            color: white;
        }
        
        .custom-modal-footer .modal-btn-confirm:hover {
            filter: brightness(1.1);
        }
        
        .custom-modal-footer .modal-btn-confirm.danger {
            background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
        }
        
        .custom-modal-footer .modal-btn-confirm.success {
            background: linear-gradient(135deg, #10b981 0%, #059669 100%);
        }

        /* ==================== 提示词按钮样式 ==================== */
        .ggb-action-btn.prompt-btn {
            background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
            color: white;
            border: none;
        }
        .ggb-action-btn.prompt-btn:hover {
            background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);
            filter: brightness(1.1);
        }

        /* ==================== 提示词弹窗样式 ==================== */
        .prompt-modal-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.5);
            z-index: 10000;
            align-items: center;
            justify-content: center;
            backdrop-filter: blur(4px);
        }
        .prompt-modal-overlay.active {
            display: flex;
        }
        .prompt-modal {
            background: white;
            border-radius: 16px;
            width: 90%;
            max-width: 600px;
            max-height: 80vh;
            display: flex;
            flex-direction: column;
            box-shadow: 0 25px 60px rgba(0, 0, 0, 0.3);
            animation: promptModalIn 0.25s ease-out;
        }
        @keyframes promptModalIn {
            from { opacity: 0; transform: scale(0.95) translateY(10px); }
            to { opacity: 1; transform: scale(1) translateY(0); }
        }
        .prompt-modal-header {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 20px 24px 16px;
            border-bottom: 1px solid #f3f4f6;
        }
        .prompt-modal-icon {
            width: 40px;
            height: 40px;
            border-radius: 10px;
            background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-size: 18px;
            flex-shrink: 0;
        }
        .prompt-modal-header h3 {
            flex: 1;
            margin: 0;
            font-size: 18px;
            font-weight: 600;
            color: #1f2937;
        }
        .prompt-modal-close {
            width: 32px;
            height: 32px;
            border: none;
            background: #f3f4f6;
            border-radius: 8px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #6b7280;
            transition: all 0.15s;
            flex-shrink: 0;
        }
        .prompt-modal-close:hover {
            background: #e5e7eb;
            color: #374151;
        }
        .prompt-modal-body {
            padding: 20px 24px;
            overflow-y: auto;
            flex: 1;
        }
        .prompt-content {
            font-size: 14px;
            line-height: 1.8;
            color: #374151;
            background: #f8fafc;
            border: 1px solid #e5e7eb;
            border-radius: 10px;
            padding: 16px 20px;
            white-space: pre-wrap;
            word-break: break-word;
            max-height: 50vh;
            overflow-y: auto;
        }
        .prompt-content.empty {
            color: #9ca3af;
            text-align: center;
            font-style: italic;
        }
        .prompt-modal-footer {
            display: flex;
            justify-content: flex-end;
            gap: 10px;
            padding: 16px 24px 20px;
            border-top: 1px solid #f3f4f6;
        }
        .prompt-copy-btn {
            padding: 8px 18px;
            border: none;
            background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
            color: white;
            border-radius: 8px;
            cursor: pointer;
            font-size: 14px;
            font-weight: 500;
            transition: all 0.15s;
            display: flex;
            align-items: center;
            gap: 6px;
        }
        .prompt-copy-btn:hover {
            filter: brightness(1.1);
        }
        .prompt-close-btn {
            padding: 8px 18px;
            border: 1px solid #e5e7eb;
            background: white;
            color: #6b7280;
            border-radius: 8px;
            cursor: pointer;
            font-size: 14px;
            font-weight: 500;
            transition: all 0.15s;
        }
        .prompt-close-btn:hover {
            background: #f3f4f6;
            border-color: #d1d5db;
        }

        /* ========== GGB ID 标签样式 ========== */
        .work-id-tag {
            display: inline-block;
            background: #e0e7ff;
            color: #4f46e5;
            font-size: 11px;
            padding: 1px 6px;
            border-radius: 4px;
            margin-right: 5px;
            font-weight: 600;
            font-family: 'Consolas', 'Monaco', monospace;
            vertical-align: middle;
            line-height: 1.4;
            white-space: nowrap;
            flex-shrink: 0;
        }

        .plaza-card-id {
            display: inline-block;
            background: #e0e7ff;
            color: #4f46e5;
            font-size: 10px;
            padding: 1px 5px;
            border-radius: 3px;
            margin-right: 4px;
            font-weight: 600;
            font-family: 'Consolas', 'Monaco', monospace;
            vertical-align: middle;
            white-space: nowrap;
            flex-shrink: 0;
        }

        .ggb-id-badge {
            display: inline-block;
            background: #4f46e5;
            color: #fff;
            padding: 2px 8px;
            border-radius: 4px;
            font-size: 12px;
            font-weight: 600;
            font-family: 'Consolas', 'Monaco', monospace;
            vertical-align: middle;
            margin-right: 4px;
            white-space: nowrap;
        }

        /* 移动端适配 */
        @media (max-width: 768px) {
            .prompt-modal {
                width: 95%;
                max-height: 85vh;
                border-radius: 12px;
            }
            .prompt-modal-header {
                padding: 16px 18px 12px;
            }
            .prompt-modal-body {
                padding: 16px 18px;
            }
            .prompt-modal-footer {
                padding: 12px 18px 16px;
            }
            .work-id-tag {
                font-size: 10px;
                padding: 1px 4px;
            }
            .plaza-card-id {
                font-size: 9px;
                padding: 1px 4px;
            }
            .ggb-id-badge {
                font-size: 11px;
                padding: 1px 6px;
            }
        }
