        @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
        
        :root {
            /* 獨立控制聊天室字體大小的變數 */
            --chat-font-size: 16px;
        }

        body {
            font-family: 'Inter', sans-serif;
            margin: 0;
            overflow: hidden;
        }

        .custom-scrollbar::-webkit-scrollbar {
            width: 6px;
            height: 6px;
        }
        .custom-scrollbar::-webkit-scrollbar-track {
            background: transparent;
        }
        .custom-scrollbar::-webkit-scrollbar-thumb {
            background-color: #cbd5e1;
            border-radius: 20px;
        }
        
        /* Loading dots animation */
        .dot-flashing {
            animation: dot-flashing 1s infinite linear alternate;
        }
        @keyframes dot-flashing {
            0% { opacity: 0.2; transform: translateY(0); }
            50% { opacity: 1; transform: translateY(-2px); }
            100% { opacity: 0.2; transform: translateY(0); }
        }

        /* Typing cursor for streaming text */
        .type-cursor {
            display: inline-block;
            width: 2px;
            height: 1em;
            background-color: #2563eb;
            margin-left: 2px;
            vertical-align: text-bottom;
            animation: cursor-blink 0.8s infinite;
        }
        @keyframes cursor-blink {
            0%, 49% { opacity: 1; }
            50%, 100% { opacity: 0; }
        }

        /* Toggle switch */
        .toggle-switch {
            position: relative;
            display: inline-block;
            width: 46px;
            height: 26px;
            flex-shrink: 0;
        }
        .toggle-switch input { opacity: 0; width: 0; height: 0; }
        .toggle-slider {
            position: absolute;
            cursor: pointer;
            top: 0; left: 0; right: 0; bottom: 0;
            background-color: #d1d5db;
            transition: .2s;
            border-radius: 999px;
        }
        .toggle-slider:before {
            position: absolute;
            content: "";
            height: 20px; width: 20px;
            left: 3px; bottom: 3px;
            background-color: white;
            transition: .2s;
            border-radius: 50%;
            box-shadow: 0 1px 2px rgba(0,0,0,0.2);
        }
        .toggle-switch input:checked + .toggle-slider { background-color: #2563eb; }
        .toggle-switch input:checked + .toggle-slider:before { transform: translateX(20px); }

        .api-key-row { display: flex; gap: 8px; align-items: center; }
