        :root {
            --bg-main: #ffffff;
            --bg-sidebar: #fbfbfa;
            --bg-gray: #f4f4f4;
            --bg-active-chat: #eeebe5;
            --bg-hover: #f9f9f9;
            --bg-surface: #ffffff;
            --text-main: #111111;
            --text-muted: #888888;
            --border-color: #e5e5e5;
            --border-light: #f0f0f0;
            --black-btn: #111111;
            --text-on-dark: #ffffff;
            --scrollbar-hover: #d0d0d0;
            --scrollbar-active: #b0b0b0;
            --gradient-fade: rgba(255,255,255,0);
            --gradient-fade-to: #ffffff;
            --modal-overlay: rgba(0,0,0,0.2);
            --chat-max-width: 820px;
        }

        [data-theme="dark"] {
            --bg-main: #1a1a1a;
            --bg-sidebar: #1e1e1e;
            --bg-gray: #2a2a2a;
            --bg-active-chat: #2d2d2d;
            --bg-hover: #2a2a2a;
            --bg-surface: #242424;
            --text-main: #e0e0e0;
            --text-muted: #999999;
            --border-color: #3a3a3a;
            --border-light: #2a2a2a;
            --black-btn: #e0e0e0;
            --text-on-dark: #111111;
            --scrollbar-hover: #555555;
            --scrollbar-active: #666666;
            --gradient-fade: rgba(26,26,26,0);
            --gradient-fade-to: #1a1a1a;
            --modal-overlay: rgba(0,0,0,0.5);
        }

        [data-theme="dark"] input,
        [data-theme="dark"] textarea,
        [data-theme="dark"] select {
            color-scheme: dark;
        }

        html, body {
            height: 100%;
            margin: 0;
            padding: 0;
        }

        body {
            display: flex;
            height: 100%;
            background-color: var(--bg-main);
            color: var(--text-main);
            overflow: hidden;
        }

        body.app-loading .sidebar,
        body.app-loading .main-content {
            opacity: 0;
            transform: translateY(4px);
        }

        body.app-ready .sidebar,
        body.app-ready .main-content {
            animation: appReadyFade 120ms ease-out;
        }

        @keyframes appReadyFade {
            from { opacity: 0; transform: translateY(4px); }
            to { opacity: 1; transform: translateY(0); }
        }

        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }
        body, button, input, select, textarea {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
        }

        ::placeholder { color: var(--text-muted); opacity: 0.6; }

        /* 全局简洁滚动条：去掉上下箭头，无白色背景，hover 显示 */
        * { scrollbar-width: thin !important; scrollbar-color: transparent transparent !important; }
        *:hover { scrollbar-color: var(--scrollbar-hover) transparent !important; }
        ::-webkit-scrollbar,
        *::-webkit-scrollbar { width: 6px !important; height: 6px !important; }
        ::-webkit-scrollbar-track,
        *::-webkit-scrollbar-track { background: transparent !important; }
        ::-webkit-scrollbar-thumb,
        *::-webkit-scrollbar-thumb { background: transparent !important; border-radius: 6px !important; }
        ::-webkit-scrollbar-button,
        *::-webkit-scrollbar-button { display: none !important; width: 0 !important; height: 0 !important; }
        ::-webkit-scrollbar-corner,
        *::-webkit-scrollbar-corner { background: transparent !important; }
        *:hover::-webkit-scrollbar-thumb { background: var(--scrollbar-hover) !important; }
        *::-webkit-scrollbar-thumb:hover,
        ::-webkit-scrollbar-thumb:hover { background: var(--scrollbar-active) !important; }

        /* --- 全局轻提示 --- */
        .toast {
            position: fixed;
            top: 24px;
            left: 50%;
            transform: translateX(-50%) translateY(-20px);
            background-color: var(--text-main);
            color: var(--text-on-dark);
            padding: 10px 24px;
            border-radius: 30px;
            font-size: 14px;
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            z-index: 9999;
            box-shadow: 0 4px 12px rgba(0,0,0,0.15);
        }
        .toast.show { transform: translateX(-50%) translateY(0); opacity: 1; visibility: visible; }
