/* Extracted from index.html on 2026-06-13. Original style blocks preserved in order. */

/* style block 1 attrs: */
* {margin:0;padding:0;box-sizing:border-box;font-family:"Microsoft YaHei","PingFang SC",sans-serif;}
body {background:#0f172a;color:#e2e8f0;height:100vh;overflow:hidden;}

.bottom-left-icons {
  display: flex;          /* 弹性布局，避免重叠 */
  gap: 8px;               /* 图标之间留间距 */
  align-items: center;    /* 垂直居中 */
  flex-wrap: nowrap;      /* 禁止换行（按需） */
  position: fixed;        /* 固定在左下角 */
  bottom: 20px;
  left: 20px;
  z-index: 999;           /* 确保层级正确 */
}

.bottom-left-icons .icon {
  width: 40px;            /* 固定宽度 */
  height: 40px;           /* 固定高度 */
  margin: 0 !important;   /* 清除默认外边距（避免重叠） */
}


.user-menu {
    position:fixed;bottom:10px;left:10px;z-index:9998;
    background:rgba(15,23,42,0.98);border:1px solid #334155;border-radius:12px;
    width:260px;box-shadow:0 8px 32px rgba(0,0,0,0.5);
    overflow:hidden;display:none;
}
.user-menu.show {display:block;animation:slideUp 0.3s ease;}
@keyframes slideUp {
    from{opacity:0;transform:translateY(20px);}
    to{opacity:1;transform:translateY(0);}
}
.user-menu-header {
    padding:16px;border-bottom:1px solid #334155;
    display:flex;align-items:center;gap:12px;
}
.user-menu-avatar {
    width:40px;height:40px;border-radius:50%;background:#3b82f6;
    display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;
    background-size:cover;background-position:center;
}
.user-menu-info {flex:1;}
.user-menu-name {font-size:14px;font-weight:500;color:#e2e8f0;}
.user-menu-phone {font-size:11px;color:#64748b;margin-top:2px;}
.user-menu-body {padding:8px 0;}
.user-menu-item {
    display:flex;align-items:center;gap:12px;padding:10px 16px;
    cursor:pointer;transition:all 0.2s ease;font-size:13px;color:#94a3b8;
}
.user-menu-item:hover {background:#334155;color:#e2e8f0;}
.user-menu-item .icon {font-size:18px;width:24px;text-align:center;}
.user-menu-item .badge {
    margin-left:auto;background:#3b82f6;color:#fff;
    padding:2px 8px;border-radius:10px;font-size:11px;
}
.user-menu-footer {
    padding:12px 16px;border-top:1px solid #334155;
    display:flex;gap:8px;
}
.user-menu-footer button {
    flex:1;padding:8px;border-radius:6px;border:none;
    cursor:pointer;font-size:12px;transition:all 0.2s ease;
}
.user-menu-footer .btn-primary {background:#3b82f6;color:#fff;}
.user-menu-footer .btn-primary:hover {background:#2563eb;}
.user-menu-footer .btn-secondary {background:#334155;color:#e2e8f0;}
.user-menu-footer .btn-secondary:hover {background:#475569;}

.token-info-card {
    background:linear-gradient(135deg,#3b82f6,#60a5fa);border-radius:10px;
    padding:16px;margin:12px;color:#fff;
}
.token-info-card .header {
    display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;
}
.token-info-card .header .title {font-size:13px;opacity:0.9;}
.token-info-card .header .value {font-size:24px;font-weight:bold;}
.token-info-card .stats {
    display:flex;gap:16px;font-size:12px;opacity:0.8;
}
.token-info-card .stats .stat {display:flex;flex-direction:column;gap:2px;}
.token-info-card .stats .stat .label {font-size:11px;}
.token-info-card .stats .stat .val {font-weight:500;}

.login-box {
    position:static;z-index:auto;
    background:transparent;border:none;border-radius:0;
    padding:12px 14px;width:auto;box-shadow:none;
    transition:all 0.3s ease;
}
.login-box.hidden {display:none;}
.login-box h3 {font-size:12px;color:#94a3b8;margin-bottom:8px;text-align:center;}
.login-box input {
    width:100%;padding:6px 8px;margin-bottom:5px;
    background:#334155;border:1px solid #475569;border-radius:4px;
    color:#e2e8f0;font-size:11px;
    transition:border-color 0.2s ease;
}
.login-box input:focus {outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,0.2);}
.login-box button {
    width:100%;padding:6px;background:#3b82f6;color:#fff;border:none;border-radius:4px;
    cursor:pointer;font-size:11px;transition:background 0.2s ease;
}
.login-box button:hover {background:#2563eb;}
.login-box .links {display:flex;justify-content:space-between;margin-top:5px;font-size:10px;}
.login-box .links a {color:#64748b;text-decoration:none;transition:color 0.2s ease;}
.login-box .links a:hover {color:#3b82f6;}

.main-layout {display:flex;height:100vh;}

.sidebar {
    width:260px;background:#1e293b;border-right:1px solid #334155;
    display:flex;flex-direction:column;
    transition:width 0.3s ease;
}
.sidebar-header {
    padding:16px;border-bottom:1px solid #334155;text-align:center;cursor:pointer;
    transition:background 0.2s ease;
}
.sidebar-header:hover {background:rgba(30,41,59,0.8);}
.sidebar-header .logo {display:flex;align-items:center;justify-content:center;}
.sidebar-header .logo-img {width:120px;height:120px;border-radius:8px;object-fit:contain;}
.sidebar-header .sub {display:none;}

.sidebar-menu {flex:1;overflow-y:auto;padding:8px;}
.menu-group {margin-bottom:16px;}
.menu-group-title {font-size:11px;color:#64748b;padding:8px 12px;text-transform:uppercase;letter-spacing:1px;}
.menu-item {
    display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;
    cursor:pointer;transition:all 0.2s ease;font-size:13px;color:#94a3b8;
}
.menu-item:hover {background:#334155;color:#e2e8f0;transform:translateX(2px);}
.menu-item.active {background:#3b82f6;color:#fff;}
.menu-item .icon {font-size:16px;width:24px;text-align:center;}

.sidebar-footer {padding:8px 10px;border-top:1px solid #334155;overflow:hidden;}
.user-info {display:flex;align-items:center;gap:10px;}
.user-info .avatar {
    width:32px;height:32px;border-radius:50%;background:#3b82f6;display:flex;
    align-items:center;justify-content:center;font-size:14px;color:#fff;
    background-size:cover;background-position:center;
}
.user-info .name {font-size:13px;color:#e2e8f0;}
.user-info .role {font-size:11px;color:#64748b;}
.logout-btn {
    margin-top:8px;width:100%;padding:6px;background:#ef4444;color:#fff;
    border:none;border-radius:6px;cursor:pointer;font-size:12px;
    transition:background 0.2s ease;
}
.logout-btn:hover {background:#dc2626;}

.main-content {flex:1;display:flex;flex-direction:column;overflow:hidden;}

.top-bar {
    height:56px;background:#1e293b;border-bottom:1px solid #334155;
    display:flex;align-items:center;justify-content:space-between;padding:0 20px;
}
.top-bar .title {font-size:16px;font-weight:500;color:#e2e8f0;}
.top-bar .actions {display:flex;gap:10px;}
.top-bar .actions button {
    padding:6px 12px;background:#334155;color:#e2e8f0;
    border:none;border-radius:6px;cursor:pointer;font-size:12px;
    transition:background 0.2s ease;
}
.top-bar .actions button:hover {background:#475569;}

.chat-area {flex:1;display:flex;flex-direction:column;overflow:hidden;}
.kb-tree-item.active {background:#1e293b;border-radius:8px;}
.kb-tree-item:hover {background:#1e293b;border-radius:8px;}
.messages-container {
    flex:1;overflow-y:auto;padding:20px;
    scroll-behavior:smooth; /* 平滑滚动 */
}
.message {max-width:80%;margin-bottom:16px;animation:fadeIn 0.3s ease;}
.message.user {margin-left:auto;}
.message.ai {margin-right:auto;}
.message-bubble {
    padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.6;
    position:relative;
}
.message.user .message-bubble {background:#3b82f6;color:#fff;border-bottom-right-radius:4px;}
.message.ai .message-bubble {background:#334155;color:#e2e8f0;border-bottom-left-radius:4px;min-width:60px;}
.message-time {font-size:11px;color:#64748b;margin-top:4px;text-align:right;}

.input-area {
    padding:16px 20px;border-top:1px solid #334155;position:relative;background:#0f172a;
    z-index:10;flex-shrink:0;
}
.input-wrapper {display:flex;gap:10px;align-items:flex-end;}
.input-wrapper textarea {
    flex:1;padding:12px 16px;background:#334155;border:1px solid #475569;border-radius:12px;
    color:#e2e8f0;font-size:14px;resize:none;min-height:50px;max-height:200px;
    transition:border-color 0.2s ease;
}
.input-wrapper textarea:focus {
    outline:none;border-color:#3b82f6;
    box-shadow:0 0 0 2px rgba(59,130,246,0.2);
}
.input-wrapper .send-btn {
    width:44px;height:44px;border-radius:50%;background:#3b82f6;color:#fff;
    border:none;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;
    transition:all 0.2s ease;
}
.input-wrapper .send-btn:hover {background:#2563eb;transform:scale(1.05);}
.input-wrapper .send-btn:disabled {background:#475569;cursor:not-allowed;transform:none;}

.quick-actions {display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap;}
.quick-actions button {
    padding:6px 12px;background:#1e293b;border:1px solid #334155;
    border-radius:16px;color:#94a3b8;font-size:12px;cursor:pointer;
    transition:all 0.2s ease;
}
.quick-actions button:hover {
    background:#334155;color:#e2e8f0;border-color:#3b82f6;
    transform:translateY(-1px);
}

.module-model-selector {
    display:inline-flex;align-items:center;gap:8px;
    padding:6px 12px;background:#1e293b;border:1px solid #334155;
    border-radius:8px;color:#e2e8f0;font-size:12px;
}
.module-model-selector label {color:#94a3b8;font-size:11px;}
.module-model-selector select {
    background:#334155;border:1px solid #475569;border-radius:6px;
    color:#e2e8f0;font-size:12px;padding:4px 8px;
    outline:none;cursor:pointer;
}
.module-model-selector select:focus {border-color:#3b82f6;}



.loading .dot:nth-child(2){animation-delay:0.2s;}
.loading .dot:nth-child(3){animation-delay:0.4s;}
@keyframes bounce {0%,80%,100%{transform:scale(0);}40%{transform:scale(1);}}

.page-content {flex:1;overflow-y:auto;padding:20px;display:none;overflow-x:hidden;}
.page-content.active {display:block;animation:pageFadeIn 0.3s ease;}
#page-chat.active {display:flex !important;flex-direction:column;overflow:hidden;padding:0;}
#page-bid.active, #page-law.active, #page-video.active {display:flex !important;flex-direction:column;overflow:hidden;padding:0;}
#page-kb.active {display:flex;flex-direction:column;}
#page-kb {padding:0;}
#page-kb .top-bar {flex-shrink:0;}
#page-kb > div:last-child {flex:1;min-height:0;}
@keyframes pageFadeIn {from{opacity:0;}to{opacity:1;}}
.page-content h2 {font-size:20px;color:#e2e8f0;margin-bottom:16px;}

.card {
    background:#1e293b;border:1px solid #334155;border-radius:12px;padding:16px;margin-bottom:16px;
    transition:all 0.2s ease;
}
.card:hover {border-color:#3b82f6;box-shadow:0 2px 8px rgba(59,130,246,0.1);}
.card-title {font-size:14px;font-weight:500;color:#e2e8f0;margin-bottom:12px;}
.card-body {color:#94a3b8;font-size:13px;}

.data-table {width:100%;border-collapse:collapse;}
.data-table th {
    background:#334155;padding:10px 12px;text-align:left;
    font-size:12px;color:#94a3b8;font-weight:500;
}
.data-table td {
    padding:10px 12px;border-bottom:1px solid #334155;
    font-size:12px;color:#e2e8f0;
}
.data-table tr:hover td {background:#252f47;}

.btn {
    padding:8px 16px;border-radius:6px;border:none;cursor:pointer;
    font-size:13px;transition:all 0.2s ease;
}
.btn-primary {background:#3b82f6;color:#fff;}
.btn-primary:hover {background:#2563eb;}
.btn-success {background:#10b981;color:#fff;}
.btn-success:hover {background:#059669;}
.btn-danger {background:#ef4444;color:#fff;}
.btn-danger:hover {background:#dc2626;}
.btn-secondary {background:#334155;color:#e2e8f0;}
.btn-secondary:hover {background:#475569;}

.modal-overlay {position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);align-items:center;justify-content:center;z-index:9999;}
.modal {background:#1e293b;border:1px solid #334155;border-radius:12px;width:90%;max-width:500px;max-height:85vh;display:flex;flex-direction:column;}
.modal-header {display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #334155;}
.modal-header h3 {margin:0;font-size:16px;color:#e2e8f0;}
.modal-header button {background:none;border:none;color:#94a3b8;font-size:18px;cursor:pointer;padding:4px 8px;}
.modal-header button:hover {color:#e2e8f0;}
.modal-body {padding:20px;overflow-y:auto;flex:1;}
.modal-body .form-grid {display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.modal-body .form-grid .full-width {grid-column:1/-1;}
.modal-footer {display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid #334155;}

.form-group {margin-bottom:12px;}
.form-group label {display:block;font-size:12px;color:#94a3b8;margin-bottom:4px;}
.form-group input, .form-group select, .form-group textarea {
    width:100%;padding:8px 12px;background:#334155;border:1px solid #475569;
    border-radius:6px;color:#e2e8f0;font-size:13px;
    transition:border-color 0.2s ease;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus {
    outline:none;border-color:#3b82f6;
    box-shadow:0 0 0 2px rgba(59,130,246,0.2);
}

.upload-zone {
    border:2px dashed #334155;border-radius:12px;padding:40px;text-align:center;
    cursor:pointer;transition:all 0.2s ease;
}
.upload-zone:hover {
    border-color:#3b82f6;background:#1e293b;
    transform:translateY(-2px);
}
.upload-zone .icon {font-size:40px;color:#64748b;margin-bottom:12px;}
.upload-zone .text {font-size:14px;color:#94a3b8;}

.history-item {
    display:flex;flex-direction:column;gap:2px;padding:8px 12px;border-radius:6px;
    cursor:pointer;transition:all 0.2s ease;margin-bottom:2px;
}
.history-item:hover {background:#334155;}
.history-title {
    font-size:12px;color:#e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    max-width:180px;
}
.history-meta {
    display:flex;align-items:center;justify-content:space-between;
}
.history-time {font-size:10px;color:#475569;}
.history-delete {
    display:none;font-size:12px;color:#ef4444;cursor:pointer;padding:0 4px;
    transition:color 0.2s ease;
}
.history-item:hover .history-delete {display:inline;}
.history-delete:hover {color:#f87171;}

.mobile-menu-btn {
    display: none;
    position: fixed;
    top: 6px; left: 6px;
    z-index: 10001;
    width: 44px; height: 44px;
    background: #1e293b;
    border: 1px solid #334155;
    border-radius: 8px;
    color: #e2e8f0;
    font-size: 22px;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    line-height: 1;
    -webkit-tap-highlight-color: transparent;
}
.sidebar-overlay {
    display: none;
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 999;
}
.sidebar-overlay.show { display: block; }
.mobile-bottom-nav {
    display: none;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    height: 56px;
    background: #1e293b;
    border-top: 1px solid #334155;
    z-index: 10000;
    align-items: center;
    justify-content: space-around;
    padding: 0 4px;
    padding-bottom: env(safe-area-inset-bottom, 0px);
    -webkit-tap-highlight-color: transparent;
}
.mobile-bottom-nav .nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1; height: 100%;
    cursor: pointer;
    color: #64748b;
    gap: 2px;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}
.mobile-bottom-nav .nav-item.active { color: #3b82f6; }
.mobile-bottom-nav .nav-item .nav-icon { font-size: 20px; line-height: 1; }
.mobile-bottom-nav .nav-item .nav-label { font-size: 10px; }

@media (max-width:768px) {
    .mobile-menu-btn { display: flex; }
    .mobile-bottom-nav { display: flex; }

    .sidebar {
        position: fixed !important;
        top: 0; left: -280px;
        width: 280px !important;
        height: 100%;
        z-index: 1000;
        transition: left 0.3s ease;
    }
    .sidebar.open {
        left: 0;
        box-shadow: 4px 0 20px rgba(0,0,0,0.3);
    }
    .sidebar-header .sub, .menu-item span, .user-info .name, .user-info .role { display: block !important; }
    .menu-item { justify-content: flex-start !important; padding: 10px 12px !important; }
    .sidebar-header .logo-img { width: 60px; height: 60px; }

    .main-content { width: 100%; display: flex; flex-direction: column; }

    .page-content.active { display: block !important; padding: 0 !important; flex: 1; min-height: 0; overflow-y: auto; }
    #page-chat.active, #page-bid.active, #page-law.active, #page-video.active,
    #page-kb.active { overflow: hidden !important; }

    .top-bar {
        height: 48px;
        padding: 0 12px 0 52px !important;
        flex-shrink: 0;
    }
    .top-bar .title { font-size: 14px; }
    .top-bar .actions { gap: 4px; flex-wrap: wrap; }
    .top-bar .actions button { padding: 4px 8px; font-size: 11px; min-height: 36px; }

    .chat-area {
        display: flex !important;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        overflow: hidden;
    }
    .chat-area .messages-container {
        flex: 1;
        overflow-y: auto;
        padding: 12px 8px;
        -webkit-overflow-scrolling: touch;
    }
    .chat-area .input-area {
        position: relative !important;
        left: auto !important;
        bottom: auto !important;
        right: auto !important;
        padding: 8px 10px;
        flex-shrink: 0;
        z-index: 10;
    }

    .message { max-width: 90%; margin-bottom: 10px; }
    .message-bubble { padding: 10px 12px; font-size: 13px; line-height: 1.5; border-radius: 10px; }
    .message-time { font-size: 10px; }

    .input-wrapper textarea { font-size: 14px; min-height: 40px; padding: 8px 12px; }
    .input-wrapper .send-btn { width: 44px; height: 44px; }

    .quick-actions { gap: 4px; margin-bottom: 6px; overflow-x: auto; flex-wrap: nowrap !important; -webkit-overflow-scrolling: touch; }
    .quick-actions button { padding: 4px 8px; font-size: 11px; min-height: 32px; white-space: nowrap; flex-shrink: 0; }

    .module-model-selector { font-size: 11px; padding: 3px 6px; gap: 4px; flex-shrink: 0; }
    .module-model-selector select { font-size: 11px; padding: 3px 6px; }

    #page-kb.active { display: flex !important; flex-direction: column; flex: 1; min-height: 0; padding: 0 !important; }
    #page-kb > div:last-child { flex-direction: column !important; }
    #page-kb > div:last-child > div:first-child {
        width: 100% !important;
        max-height: 180px;
        border-right: none !important;
        border-bottom: 1px solid #334155;
        overflow-y: auto;
    }
    #page-kb > div:last-child > div:last-child { padding: 12px 8px; }
    #kbSearchInput { width: 100px !important; }

    #page-enterprise > div:last-child { padding: 12px !important; padding-bottom: 72px !important; }
    .card-body div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }

    #page-recharge > div:last-child { padding: 12px !important; padding-bottom: 72px !important; max-width: 100% !important; }
    .card-body > div[style*="display:flex"] > .card[style*="width:160px"] {
        width: calc(50% - 8px) !important;
    }

    #page-profile > div:last-child { padding: 12px !important; padding-bottom: 72px !important; max-width: 100% !important; }


    .login-box { padding: 10px 12px; }
    .login-box h3 { font-size: 13px; }
    .login-box input { padding: 10px 12px; font-size: 14px; min-height: 44px; }
    .login-box button { padding: 10px; font-size: 14px; min-height: 44px; }
    .login-box .links { font-size: 11px; }

    .modal-overlay { align-items: flex-end !important; }
    .modal {
        width: 100% !important;
        max-width: none !important;
        max-height: 85vh;
        border-radius: 12px 12px 0 0;
    }
    .modal-header { padding: 14px 16px; }
    .modal-header h3 { font-size: 15px; }
    .modal-header button { min-width: 44px; min-height: 44px; font-size: 20px; }
    .modal-body { padding: 14px 16px; }
    .modal-footer { padding: 10px 16px; }
    .modal-footer .btn { min-height: 44px; }
    .modal-body .form-grid { grid-template-columns: 1fr !important; }

    .form-group input, .form-group select, .form-group textarea {
        min-height: 44px;
        font-size: 14px;
        padding: 10px 12px;
    }
    .form-group label { font-size: 13px; }

    .card-body { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .data-table { min-width: 500px; font-size: 12px; }
    .data-table th, .data-table td { padding: 8px 10px; }

    .card { padding: 12px; margin-bottom: 12px; border-radius: 10px; }
    .btn { min-height: 44px; font-size: 13px; padding: 8px 14px; }
    .avatar-upload-btn { min-height: 44px; }

    .user-menu { width: 90%; left: 5%; bottom: 64px; }
    .token-info-card .header .value { font-size: 20px; }

    .upload-zone { padding: 24px 16px; }
    .upload-zone .icon { font-size: 32px; }

    .history-title { max-width: 180px; }

    .bottom-left-icons { display: none; }
}

@media (max-width:480px) {
    .top-bar .title { font-size: 13px; }
    .top-bar .actions button { font-size: 10px; padding: 3px 6px; min-height: 32px; }
    .message-bubble { font-size: 12px; padding: 8px 10px; }
    .input-wrapper textarea { font-size: 13px; }
    .input-wrapper .send-btn { width: 40px; height: 40px; font-size: 16px; }
    .quick-actions button { padding: 3px 6px; font-size: 10px; }
    .card-body > div[style*="display:flex"] > .card[style*="width:160px"] { width: 100% !important; }
    .data-table { min-width: 380px; }
    .token-info-card .header .value { font-size: 18px; }
    .mobile-bottom-nav .nav-item .nav-icon { font-size: 18px; }
    .mobile-bottom-nav .nav-item .nav-label { font-size: 9px; }
    .user-menu { width: 95%; left: 2.5%; }
}

body.app-mode { -webkit-user-select: none; user-select: none; }
body.app-mode .mobile-menu-btn { display: flex; }
body.app-mode .mobile-bottom-nav { display: flex; }
body.app-mode .sidebar { position: fixed !important; left: -280px; width: 280px !important; height: 100%; z-index: 1000; }
body.app-mode .sidebar.open { left: 0; }
body.app-mode .input-area { left: auto !important; }
body.app-mode .main-content { width: 100%; }
body.app-mode .bottom-left-icons { display: none; }

::-webkit-scrollbar {width:6px;height:6px;}
::-webkit-scrollbar-track {background:transparent;}
::-webkit-scrollbar-thumb {
    background:#475569;border-radius:3px;
    transition:background 0.2s ease;
}
::-webkit-scrollbar-thumb:hover {background:#64748b;}

.avatar-upload {
    margin-bottom:12px;
}
.avatar-preview {
    width:80px;height:80px;border-radius:50%;background:#334155;
    display:flex;align-items:center;justify-content:center;margin-bottom:8px;
    background-size:cover;background-position:center;
}
.avatar-preview span {font-size:32px;color:#64748b;}
.avatar-upload-btn {
    padding:6px 12px;background:#334155;color:#e2e8f0;
    border:none;border-radius:6px;cursor:pointer;font-size:12px;
}
.avatar-upload-btn:hover {background:#475569;}
#avatarFile {display:none;}

/* 2026-06-12 AI页面可读性统一优化 */
body{font-size:14px}
button,input,select,textarea{font:inherit}
.card,.panel,.content-card,.workspace-card{border-radius:14px}
table{font-size:14px}
th{font-weight:900}
td{line-height:1.55}
.btn,button{transition:.18s}
.btn:hover,button:hover{filter:brightness(1.06)}

/* style block 2 attrs: */
.markdown-body { color: #e2e8f0; line-height: 1.8; font-size: 14px; }
.markdown-body h1 { margin: 20px 0 12px; font-size: 20px; font-weight: 700; color: #fff; border-bottom: 1px solid #475569; padding-bottom: 8px; }
.markdown-body h2 { margin: 18px 0 10px; font-size: 17px; font-weight: 700; color: #f1f5f9; border-bottom: 1px solid #334155; padding-bottom: 6px; }
.markdown-body h3 { margin: 14px 0 8px; font-size: 15px; font-weight: 600; color: #cbd5e1; }
.markdown-body p { margin: 10px 0; line-height: 1.8; }
.markdown-body strong { color: #60a5fa; font-weight: 600; }
.markdown-body em { color: #a78bfa; }
.markdown-body pre { background: #1e293b; padding: 14px; border-radius: 8px; overflow-x: auto; margin: 12px 0; border: 1px solid #334155; }
.markdown-body code { background: #334155; padding: 2px 6px; border-radius: 4px; font-size: 13px; color: #fbbf24; }
.markdown-body pre code { background: none; padding: 0; color: #e2e8f0; }
.markdown-body ul,.markdown-body ol { padding-left: 22px; margin: 10px 0; }
.markdown-body li { margin: 6px 0; line-height: 1.7; }
.markdown-body li::marker { color: #60a5fa; }
.markdown-body blockquote { border-left: 3px solid #3b82f6; padding: 8px 14px; color: #94a3b8; margin: 12px 0; background: rgba(59,130,246,0.08); border-radius: 0 6px 6px 0; }
.markdown-body hr { border: none; border-top: 1px solid #334155; margin: 16px 0; }
.markdown-body table { border-collapse: collapse; width: 100%; margin: 12px 0; }
.markdown-body th,.markdown-body td { border: 1px solid #475569; padding: 8px 12px; }
.markdown-body th { background: #1e293b; color: #f1f5f9; font-weight: 600; }
.markdown-body a { color: #60a5fa; text-decoration: underline; }

/* style block 3 attrs:id="ai-generated-disclosure-style" */
.ai-generated-disclosure{position:fixed;left:50%;top:8px;transform:translateX(-50%);z-index:2147483000;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.18);letter-spacing:.2px}
.ai-generated-disclosure .sub{font-weight:500;opacity:.9;margin-left:6px}
.ai-generated-label{display:inline-flex;align-items:center;gap:4px;background:#f59e0b;color:#111827;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:900;margin:0 0 8px 0}
.ai-generated-note{font-size:12px;color:#fbbf24;margin-top:8px;line-height:1.5}
.message.ai .message-bubble:before{content:'AI生成';display:inline-flex;background:#f59e0b;color:#111827;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:900;margin:0 0 8px 0}
