:root { --primary: #10a37f; --primary-hover: #1a7f64; --primary-light: #e6f7f3; --primary-border: #a3e6d5; --accent-purple: #7c3aed; --accent-purple-hover: #6d28d9; --accent-purple-light: #f3e8ff; --accent-purple-border: #d8b4fe; --accent-blue: #2563eb; --accent-blue-hover: #1d4ed8; --accent-blue-light: #eff6ff; --accent-blue-border: #bfdbfe; --accent-amber: #d97706; --accent-amber-light: #fffbeb; --accent-amber-border: #fde68a; --accent-cyan: #0891b2; --accent-cyan-light: #ecfeff; --accent-cyan-border: #a5f3fc; --success: #10b981; --success-hover: #059669; --success-light: #ecfdf5; --success-border: #a7f3d0; --warning: #f59e0b; --warning-hover: #d97706; --warning-light: #fffbeb; --warning-border: #fde68a; --danger: #ef4444; --danger-hover: #dc2626; --danger-light: #fef2f2; --danger-border: #fecaca; --bg-main: #f8fafc; --bg-card: #ffffff; --bg-card-sub: #f1f5f9; --bg-chat-bot: #ffffff; --bg-chat-user: #10a37f; --bg-dark-editor: #0f172a; --text-main: #0f172a; --text-muted: #64748b; --text-light: #94a3b8; --border: #cbd5e1; --border-light: #e2e8f0; --radius-sm: 6px; --radius-md: 10px; --radius-lg: 14px; --radius-xl: 20px; --radius-pill: 9999px; --font-main: 'Cairo', 'Tajawal', system-ui, -apple-system, BlinkMacSystemFont, Roboto, sans-serif; --font-code: 'Fira Code', Consolas, Monaco, 'Courier New', monospace; --font-size-title: clamp(16px, 1.5vw, 24px); --font-size-subtitle: clamp(12px, 1vw, 15px); --font-size-body: clamp(13px, 0.95vw, 15px); --font-size-small: clamp(11px, 0.8vw, 13px); --font-size-card-val: clamp(22px, 2.2vw, 34px); --header-height: 64px; --z-base: 1; --z-card: 2; --z-sticky: 100; --z-bottom-nav: 2000; --z-pwa-banner: 4000; --z-modal-backdrop: 5000; --z-modal-content: 5001; --z-toast: 9000; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; -webkit-tap-highlight-color: transparent; transition: none !important; animation: none !important; scroll-behavior: auto !important; } html, body { direction: rtl !important; text-align: right !important; background-color: var(--bg-main); color: var(--text-main); font-family: var(--font-main); font-weight: 500; height: 100vh; width: 100vw; margin: 0; padding: 0; overflow: hidden !important; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } ::-webkit-scrollbar { width: 6px !important; height: 6px !important; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: var(--border); border-radius: var(--radius-pill); } i.fa-solid, i.fa-brands, i.fa-regular { display: inline-block; vertical-align: middle; } .app-icon-img { width: 100% !important; height: 100% !important; object-fit: contain !important; aspect-ratio: 1 / 1 !important; max-width: 100%; max-height: 100%; display: block; } .m7q2x9k4v8p1z6r3t5n0w8c2y4h6d9s { position: fixed; top: 12px; right: 50%; transform: translateX(50%); width: calc(100% - 24px); max-width: 680px; background: #ffffff; border: 1.5px solid var(--primary-border); border-radius: var(--radius-xl); padding: 10px 16px; z-index: var(--z-pwa-banner); display: flex; justify-content: space-between; align-items: center; gap: 12px; } .m7q2x9k4v8p1z6r3t5n0w8c2y4h6d9s-content { display: flex; align-items: center; gap: 12px; } .b8n3x7m5q1r9v4k6t2z0p8w5c3y7h1f { width: 40px; height: 40px; aspect-ratio: 1 / 1; border-radius: 10px; overflow: hidden; border: 1px solid var(--primary-border); flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: var(--bg-card); } .r4v9k2m7x1q6z3n8p5w0t4c9y2h7d6a { display: flex; flex-direction: column; gap: 2px; } .r4v9k2m7x1q6z3n8p5w0t4c9y2h7d6a strong { font-size: 13px; font-weight: 800; color: var(--text-main); } .r4v9k2m7x1q6z3n8p5w0t4c9y2h7d6a span { font-size: 11px; color: var(--text-muted); } .t6m1q8x3v9k4z7r2n5p0w6c8y3h1d9s { display: flex; align-items: center; gap: 8px; } .c9x4m7q2v8n1k5z3r6p0w9t4y7h2d8f { background: var(--primary); color: #ffffff; border: none; padding: 8px 16px; border-radius: var(--radius-md); font-size: 12px; font-weight: 800; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; } .c9x4m7q2v8n1k5z3r6p0w9t4y7h2d8f:hover { background: var(--primary-hover); } .p3k8v1m6x9q4r7z2n5w0c8t3y6h1d9a { background: none; border: none; font-size: 20px; color: var(--text-muted); cursor: pointer; padding: 4px; } .a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6 { width: 100vw; height: 100vh; padding: 12px; display: flex; justify-content: center; align-items: stretch; } .b1c2d3e4f5g6h7i8j9k0l1m2n3o4p5q6 { width: 100%; max-width: 1800px; height: 100%; display: flex; flex-direction: column; gap: 12px; overflow: hidden; } .c1d2e3f4g5h6i7j8k9l0m1n2o3p4q5r6 { height: var(--header-height); min-height: var(--header-height); background: #ffffff; border: 1.5px solid var(--border-light); border-radius: var(--radius-xl); padding: 0 18px; display: flex; justify-content: space-between; align-items: center; flex-shrink: 0; } .d1e2f3g4h5i6j7k8l9m0n1o2p3q4r5s6 { display: flex; align-items: center; gap: 12px; width: 100%; justify-content: space-between; } .e1f2g3h4i5j6k7l8m9n0o1p2q3r4s5t6 { width: 42px; height: 42px; aspect-ratio: 1 / 1; border-radius: var(--radius-lg); overflow: hidden; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: var(--bg-card); } .f1g2h3i4j5k6l7m8n9o0p1q2r3s4t5u6 h1 { font-size: var(--font-size-title); color: var(--text-main); line-height: 1.1; display: flex; align-items: center; gap: 8px; white-space: nowrap; } .ai-badge-pro { font-size: 11px; font-weight: 800; background: var(--accent-purple-light); color: var(--accent-purple); border: 1px solid var(--accent-purple-border); padding: 3px 10px; border-radius: var(--radius-pill); display: inline-flex; align-items: center; gap: 4px; } .header-model-selector-wrapper { margin-left: 10px; flex-shrink: 0; } .model-select-dropdown { background: var(--bg-card-sub); border: 1.5px solid var(--border-light); color: var(--text-main); padding: 6px 12px; border-radius: var(--radius-lg); font-family: var(--font-main); font-size: 12px; font-weight: 800; cursor: pointer; outline: none; } .model-select-dropdown:focus { border-color: var(--primary); background: #ffffff; } .wallet-header-badge-container { display: flex; align-items: center; gap: 6px; margin-right: auto; } .header-asset-select { background: var(--bg-card-sub); border: 1.5px solid var(--border-light); border-radius: var(--radius-pill); padding: 4px 8px; font-size: 11px; font-weight: 800; color: var(--text-main); cursor: pointer; outline: none; } .k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6 { padding: 6px 14px; border-radius: var(--radius-pill); font-size: var(--font-size-small); font-weight: 800; display: inline-flex; align-items: center; gap: 6px; cursor: pointer; user-select: none; white-space: nowrap; } .k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6.l1m2n3o4p5q6r7s8t9u0v1w2x3y4z5a6 { background: var(--primary-light); color: var(--primary); border: 1.5px solid var(--primary-border); } .u1v2w3x4y5z6a7b8c9d0e1f2g3h4i5j6.full-width-layout { display: block !important; width: 100% !important; height: 100% !important; flex: 1; min-height: 0; overflow: hidden; } .a3b4c5d6e7f8g9h0i1j2k3l4m5n6o7p8 { display: flex; flex-direction: column; height: 100%; width: 100%; min-width: 0; min-height: 0; overflow: hidden; } .c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8 { display: none; flex-direction: column; height: 100%; width: 100%; min-height: 0; overflow-y: auto; } .c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8.a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7 { display: flex; } #pane_home_dashboard { padding: 16px; gap: 20px; } .home-hub-welcome-banner { background: #ffffff; border: 1.5px solid var(--primary-border); border-radius: var(--radius-xl); padding: 20px 24px; display: flex; align-items: center; gap: 20px; } .home-banner-graphic { width: 68px; height: 68px; flex-shrink: 0; border-radius: var(--radius-lg); overflow: hidden; background: #ffffff; padding: 4px; border: 1px solid var(--border-light); } .home-banner-text { display: flex; flex-direction: column; gap: 4px; flex: 1; } .home-banner-text h2 { font-size: clamp(16px, 1.6vw, 22px); font-weight: 900; color: var(--text-main); } .home-banner-text p { font-size: 13px; color: var(--text-muted); line-height: 1.5; } .home-quick-stats { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; } .home-stat-chip { background: #ffffff; border: 1px solid var(--border-light); border-radius: var(--radius-lg); padding: 10px 16px; display: flex; align-items: center; gap: 10px; cursor: pointer; } .home-stat-chip:hover { border-color: var(--primary-border); background: var(--primary-light); } .home-stat-chip i { font-size: 20px; } .home-stat-chip div { display: flex; flex-direction: column; } .home-stat-chip span { font-size: 10px; color: var(--text-muted); font-weight: 700; } .home-stat-chip strong { font-size: 13px; color: var(--text-main); font-weight: 900; } .home-modules-launch-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; } .module-launch-card { background: var(--bg-card); border: 1.5px solid var(--border-light); border-radius: var(--radius-xl); padding: 20px; display: flex; flex-direction: column; justify-content: space-between; gap: 14px; cursor: pointer; position: relative; overflow: hidden; } .module-card-icon { width: 48px; height: 48px; border-radius: var(--radius-lg); display: flex; align-items: center; justify-content: center; font-size: 22px; } .module-card-content h3 { font-size: 15px; font-weight: 800; color: var(--text-main); margin-bottom: 4px; } .module-card-content p { font-size: 12px; color: var(--text-muted); line-height: 1.5; } .module-card-footer { display: flex; align-items: center; justify-content: space-between; font-size: 12px; font-weight: 800; color: var(--primary); padding-top: 10px; border-top: 1px dashed var(--border-light); } .home-bottom-sections-wrapper { display: grid; grid-template-columns: 2fr 1fr; gap: 16px; margin-top: 4px; } .home-recent-chats-panel, .home-quick-tools-panel { background: var(--bg-card); border: 1.5px solid var(--border-light); border-radius: var(--radius-xl); padding: 18px; display: flex; flex-direction: column; gap: 12px; } .home-section-header { display: flex; justify-content: space-between; align-items: center; font-size: 14px; font-weight: 800; color: var(--text-main); border-bottom: 1px solid var(--border-light); padding-bottom: 10px; } .home-section-actions { display: flex; align-items: center; gap: 8px; } .quick-tools-list { display: flex; flex-direction: column; gap: 10px; } .quick-tool-btn { width: 100%; padding: 12px 14px; background: var(--bg-card-sub); border: 1px solid var(--border-light); border-radius: var(--radius-lg); font-family: var(--font-main); font-size: 13px; font-weight: 800; color: var(--text-main); cursor: pointer; display: flex; align-items: center; gap: 10px; } .quick-tool-btn:hover { background: #ffffff; border-color: var(--primary-border); color: var(--primary); } #pane_khadija_chat { overflow: hidden !important; } .chat-layout-split-wrapper { display: flex; gap: 14px; width: 100%; height: 100%; min-height: 0; overflow: hidden; } .chat-main-container { flex: 1; background: var(--bg-card); border: 1.5px solid var(--border-light); border-radius: var(--radius-xl); display: flex; flex-direction: column; height: 100%; min-height: 0; overflow: hidden; position: relative; } .chat-main-container.drag-over { border-color: var(--primary); background: var(--primary-light); } .chat-top-bar { padding: 10px 16px; border-bottom: 1px solid var(--border-light); display: flex; justify-content: space-between; align-items: center; background: #ffffff; flex-shrink: 0; z-index: 10; gap: 10px; flex-wrap: wrap; } .chat-actions { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-right: auto; } .btn-chat-tool { background: var(--bg-card-sub); border: 1px solid var(--border-light); color: var(--text-muted); padding: 6px 10px; height: 34px; border-radius: var(--radius-md); cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; gap: 6px; } .btn-chat-tool:hover { color: var(--primary); border-color: var(--primary-border); } .btn-chat-tool.active { background: var(--primary-light); color: var(--primary); border-color: var(--primary-border); } .tool-toggle-search.active { background: var(--accent-blue-light); color: var(--accent-blue); border-color: var(--accent-blue-border); } .multi-agent-status-bar { background: #0f172a; color: #f8fafc; padding: 8px 16px; display: flex; align-items: center; justify-content: space-around; font-size: 12px; font-weight: 700; border-bottom: 1px solid rgba(255, 255, 255, 0.1); flex-shrink: 0; } .agent-step { display: flex; align-items: center; gap: 6px; opacity: 0.5; padding: 4px 10px; border-radius: var(--radius-pill); } .agent-step.active { opacity: 1; background: rgba(255, 255, 255, 0.15); } .step-researcher.active { color: #38bdf8; } .step-coder.active { color: #34d399; } .step-auditor.active { color: #f43f5e; } .arrow-divider { font-size: 10px; color: #64748b; } .chat-messages-area { flex: 1; padding: 20px; overflow-y: auto; display: flex; flex-direction: column; gap: 20px; min-height: 0; } .khadija-welcome-screen { margin: auto; max-width: 680px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 30px 10px; } .welcome-icon { width: 64px; height: 64px; border-radius: 20px; display: flex; align-items: center; justify-content: center; font-size: 28px; } .khadija-welcome-screen h2 { font-size: 22px; font-weight: 900; color: var(--text-main); } .khadija-welcome-screen p { font-size: 14px; color: var(--text-muted); line-height: 1.6; } .prompt-suggestions-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; width: 100%; margin-top: 16px; } .prompt-card { background: var(--bg-card-sub); border: 1px solid var(--border-light); padding: 14px 16px; border-radius: var(--radius-lg); cursor: pointer; text-align: right; display: flex; align-items: flex-start; gap: 10px; font-family: var(--font-main); } .prompt-card:hover { border-color: var(--primary-border); background: var(--primary-light); } .prompt-card span { font-size: 12px; font-weight: 700; color: var(--text-main); line-height: 1.5; } .chat-message-row { display: flex; gap: 12px; max-width: 92%; align-items: flex-start; } .chat-message-row.user-msg-row { margin-left: auto; flex-direction: row-reverse; } .chat-message-row.bot-msg-row { margin-right: auto; } .msg-avatar { width: 36px; height: 36px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center; font-size: 16px; flex-shrink: 0; } .user-msg-row .msg-avatar { background: var(--accent-purple-light); color: var(--accent-purple); border: 1px solid var(--accent-purple-border); } .bot-msg-row .msg-avatar { background: var(--primary-light); color: var(--primary); border: 1px solid var(--primary-border); } .msg-bubble-content { background: var(--bg-chat-bot); border: 1px solid var(--border-light); padding: 14px 18px; border-radius: var(--radius-lg); font-size: 14px; line-height: 1.7; color: var(--text-main); word-break: break-word; display: flex; flex-direction: column; gap: 10px; } .user-msg-row .msg-bubble-content { background: var(--primary); color: #ffffff; border: none; border-radius: 16px 16px 2px 16px; } .bot-msg-row .msg-bubble-content { border-radius: 16px 16px 16px 2px; } .thinking-block { background: var(--accent-amber-light); border: 1px solid var(--accent-amber-border); border-radius: var(--radius-md); padding: 10px 14px; margin-bottom: 8px; font-size: 12px; color: var(--accent-amber); } .thinking-block summary { cursor: pointer; font-weight: 800; display: flex; align-items: center; gap: 6px; } .thinking-content { margin-top: 8px; line-height: 1.5; color: var(--text-main); font-family: var(--font-code); font-size: 11px; white-space: pre-wrap; direction: ltr; text-align: left; } .artifact-card-embed { background: #ffffff; border: 1.5px solid var(--accent-purple-border); border-radius: var(--radius-lg); padding: 12px 16px; display: flex; justify-content: space-between; align-items: center; cursor: pointer; margin: 6px 0; } .artifact-card-embed:hover { background: var(--accent-purple-light); } .artifact-info { display: flex; align-items: center; gap: 10px; font-weight: 800; font-size: 13px; color: var(--accent-purple); } .msg-bubble-content pre { background: #0f172a; color: #f8fafc; padding: 14px; border-radius: var(--radius-md); font-family: var(--font-code); font-size: 12px; overflow-x: auto; margin: 10px 0; direction: ltr; text-align: left; } .msg-bubble-content code { font-family: var(--font-code); font-size: 12px; background: rgba(0, 0, 0, 0.06); padding: 2px 6px; border-radius: 4px; } .user-msg-row .msg-bubble-content code { background: rgba(255, 255, 255, 0.2); } .search-grounding-box { background: var(--accent-blue-light); border: 1px solid var(--accent-blue-border); border-radius: var(--radius-md); padding: 10px 14px; margin-top: 8px; font-size: 12px; display: flex; flex-direction: column; gap: 6px; } .grounding-title { font-weight: 800; color: var(--accent-blue); display: flex; align-items: center; gap: 6px; } .grounding-sources-list { display: flex; flex-wrap: wrap; gap: 6px; } .search-source-pill { background: #ffffff; border: 1px solid var(--accent-blue-border); color: var(--accent-blue-hover); padding: 3px 10px; border-radius: var(--radius-pill); font-size: 11px; font-weight: 700; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; } .search-source-pill:hover { background: var(--accent-blue); color: #ffffff; } .msg-attachments-grid { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; } .msg-image-attachment { max-width: 220px; max-height: 180px; border-radius: var(--radius-md); object-fit: cover; cursor: pointer; border: 1px solid var(--border-light); } .msg-file-attachment { padding: 6px 12px; background: var(--bg-card-sub); border: 1px solid var(--border-light); border-radius: var(--radius-sm); font-size: 11px; font-family: var(--font-code); display: inline-flex; align-items: center; gap: 6px; } .chat-input-wrapper { padding: 12px 20px; background: #ffffff; border-top: 1px solid var(--border-light); display: flex; flex-direction: column; gap: 8px; flex-shrink: 0; } .attachments-preview-container { display: flex; flex-wrap: wrap; gap: 8px; padding: 8px 12px; background: var(--bg-card-sub); border: 1px dashed var(--primary-border); border-radius: var(--radius-md); max-height: 100px; overflow-y: auto; } .attachment-preview-item { position: relative; display: inline-flex; align-items: center; gap: 6px; padding: 4px 8px; background: #ffffff; border: 1px solid var(--border-light); border-radius: var(--radius-sm); font-size: 11px; font-weight: 700; } .attachment-preview-item img { width: 28px; height: 28px; object-fit: cover; border-radius: 4px; } .btn-remove-attachment { background: none; border: none; color: var(--danger); cursor: pointer; font-size: 14px; margin-right: 4px; } .chat-input-controls-top { display: flex; justify-content: space-between; align-items: center; font-size: 11px; color: var(--text-muted); } .status-indicator { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; } .chat-tools-indicators { display: flex; gap: 6px; } .indicator-chip { padding: 2px 8px; border-radius: var(--radius-pill); font-size: 10px; font-weight: 800; display: inline-flex; align-items: center; gap: 4px; } .search-chip { background: var(--accent-blue-light); color: var(--accent-blue); border: 1px solid var(--accent-blue-border); } .research-chip { background: var(--accent-cyan-light); color: var(--accent-cyan); border: 1px solid var(--accent-cyan-border); } .reasoning-chip { background: var(--accent-purple-light); color: var(--accent-purple); border: 1px solid var(--accent-purple-border); } .webgpu-chip { background: #f1f5f9; color: #0f172a; border: 1px solid #cbd5e1; } .voice-chip { background: var(--danger-light); color: var(--danger); border: 1px solid var(--danger-border); } .chat-textarea-container { display: flex; align-items: center; gap: 10px; background: var(--bg-main); border: 1.5px solid var(--border-light); border-radius: var(--radius-xl); padding: 8px 12px; } .chat-textarea-container:focus-within { border-color: var(--primary); } .input-actions-left { display: flex; align-items: center; gap: 4px; } .btn-attach-action { background: none; border: none; color: var(--text-muted); width: 32px; height: 32px; border-radius: var(--radius-md); cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 15px; } .btn-attach-action:hover { background: var(--primary-light); color: var(--primary); } .btn-attach-action.recording { color: var(--danger); background: var(--danger-light); } .chat-textarea-container textarea { flex: 1; background: none; border: none; outline: none; font-family: var(--font-main); font-size: 14px; color: var(--text-main); resize: none; max-height: 120px; line-height: 1.5; } .btn-send-chat { width: 38px; height: 38px; border-radius: 50%; background: var(--primary); color: #ffffff; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 15px; flex-shrink: 0; } .btn-send-chat:hover { background: var(--primary-hover); } .btn-send-chat:disabled { background: var(--border); cursor: not-allowed; } .canvas-artifacts-panel { width: 50%; min-width: 420px; background: var(--bg-card); border: 1.5px solid var(--accent-purple-border); border-radius: var(--radius-xl); display: flex; flex-direction: column; height: 100%; min-height: 0; overflow: hidden; } .canvas-header { padding: 12px 18px; background: var(--accent-purple-light); border-bottom: 1px solid var(--accent-purple-border); display: flex; justify-content: space-between; align-items: center; flex-shrink: 0; } .canvas-title-wrapper { font-weight: 900; font-size: 14px; color: var(--accent-purple); display: flex; align-items: center; gap: 8px; } .canvas-controls { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; } .btn-canvas-action { background: #ffffff; border: 1px solid var(--accent-purple-border); color: var(--accent-purple); padding: 5px 10px; border-radius: var(--radius-md); font-size: 12px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; } .btn-canvas-action:hover { background: var(--accent-purple); color: #ffffff; } .btn-close-canvas { font-size: 18px; padding: 2px 8px; } .canvas-file-tabs-bar { display: flex; align-items: center; gap: 4px; background: #0f172a; padding: 6px 12px; overflow-x: auto; border-bottom: 1px solid rgba(255, 255, 255, 0.1); flex-shrink: 0; } .canvas-file-tab { background: rgba(255, 255, 255, 0.05); border: 1px solid transparent; color: #94a3b8; padding: 6px 12px; border-radius: var(--radius-sm); font-family: var(--font-code); font-size: 11px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; } .canvas-file-tab.active { background: #1e293b; color: #ffffff; border-color: rgba(255, 255, 255, 0.2); } .btn-add-file-tab { background: none; border: none; color: #94a3b8; padding: 4px 8px; cursor: pointer; font-size: 12px; } .btn-add-file-tab:hover { color: #ffffff; } .canvas-tabs-bar { display: flex; background: var(--bg-card-sub); border-bottom: 1px solid var(--border-light); padding: 4px 12px; gap: 6px; flex-shrink: 0; overflow-x: auto; } .canvas-tab-btn { background: none; border: none; padding: 8px 14px; font-family: var(--font-main); font-size: 12px; font-weight: 800; color: var(--text-muted); cursor: pointer; border-radius: var(--radius-md); display: flex; align-items: center; gap: 6px; white-space: nowrap; } .canvas-tab-btn.active { background: #ffffff; color: var(--accent-purple); } .canvas-body-container { flex: 1; position: relative; overflow: hidden; background: #0f172a; min-height: 0; } .canvas-tab-content { width: 100%; height: 100%; overflow: auto; } .monaco-editor-host { width: 100%; height: 100%; min-height: 300px; } .canvas-code-textarea { width: 100%; height: 100%; background: #0f172a; color: #f8fafc; font-family: var(--font-code); font-size: 13px; line-height: 1.6; border: none; outline: none; padding: 16px; resize: none; direction: ltr; text-align: left; } .canvas-preview-view iframe { width: 100%; height: 100%; border: none; background: #ffffff; } .canvas-visual-view { background: #f8fafc; display: flex; flex-direction: column; } .visual-builder-toolbar { padding: 10px 14px; background: #ffffff; border-bottom: 1px solid var(--border-light); display: flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 700; flex-wrap: wrap; } .btn-visual-add { background: var(--bg-card-sub); border: 1px solid var(--border-light); padding: 4px 10px; border-radius: var(--radius-sm); font-size: 11px; font-weight: 700; cursor: pointer; display: flex; align-items: center; gap: 4px; } .btn-visual-add:hover { background: var(--accent-purple-light); color: var(--accent-purple); } .visual-builder-canvas { flex: 1; padding: 20px; overflow-y: auto; min-height: 300px; background: #ffffff; border: 2px dashed var(--border-light); margin: 14px; border-radius: var(--radius-lg); position: relative; } .draggable-element { padding: 10px 14px; margin-bottom: 10px; border: 1px dashed var(--accent-purple-border); border-radius: var(--radius-md); cursor: move; background: var(--accent-purple-light); position: relative; } .draggable-element:hover { border-color: var(--accent-purple); } .canvas-python-view { background: #020617; padding: 16px; display: flex; flex-direction: column; gap: 12px; color: #38bdf8; } .pyodide-status-pill, .serverless-status-banner { padding: 8px 12px; background: #1e293b; border: 1px solid #334155; border-radius: var(--radius-md); font-size: 12px; color: #38bdf8; display: flex; align-items: center; gap: 8px; } .pyodide-console { background: #0f172a; border: 1px solid #1e293b; padding: 14px; border-radius: var(--radius-md); font-family: var(--font-code); font-size: 12px; color: #f8fafc; min-height: 120px; white-space: pre-wrap; direction: ltr; text-align: left; } .pyodide-plots-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; } .pyodide-plots-grid img { width: 100%; border-radius: var(--radius-md); border: 1px solid #334155; } .canvas-console-view { background: #020617; padding: 12px; font-family: var(--font-code); font-size: 12px; } .console-logs-list { display: flex; flex-direction: column; gap: 6px; } .console-log-item { padding: 4px 8px; border-radius: 4px; } .log-info { color: #38bdf8; } .log-error { color: #f87171; background: rgba(239, 68, 68, 0.1); } .log-warn { color: #fbbf24; } .node-workflow-board { position: relative; width: 100%; height: 520px; background: #0b1329; border: 1.5px solid var(--accent-purple-border); border-radius: var(--radius-xl); overflow: hidden; } .workflow-grid-background { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: radial-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px); background-size: 20px 20px; pointer-events: none; } .node-elements-layer { position: relative; width: 100%; height: 100%; padding: 20px; overflow: auto; } .workflow-node-card { position: absolute; width: 260px; background: rgba(30, 41, 59, 0.95); border: 1.5px solid var(--accent-purple); border-radius: var(--radius-lg); padding: 14px; color: #ffffff; cursor: grab; z-index: 10; } .workflow-node-card:active { cursor: grabbing; } .workflow-node-header { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid rgba(255, 255, 255, 0.1); padding-bottom: 8px; margin-bottom: 10px; font-weight: 800; font-size: 13px; color: var(--accent-purple-border); } .workflow-node-body { font-size: 11px; color: #94a3b8; display: flex; flex-direction: column; gap: 8px; } .workflow-node-badge { font-size: 10px; padding: 2px 6px; border-radius: var(--radius-pill); font-weight: 800; } .node-badge-research { background: rgba(56, 189, 248, 0.2); color: #38bdf8; } .node-badge-coder { background: rgba(52, 211, 153, 0.2); color: #34d399; } .node-badge-oracle { background: rgba(251, 191, 36, 0.2); color: #fbbf24; } .workflow-controls { display: flex; gap: 8px; } .voice-live-orb-container { padding: 30px 0; display: flex; justify-content: center; align-items: center; } .voice-live-orb { width: 110px; height: 110px; border-radius: 50%; background: radial-gradient(circle, var(--primary) 0%, var(--primary-hover) 100%); display: flex; justify-content: center; align-items: center; color: #ffffff; font-size: 42px; } .voice-live-orb.listening { background: radial-gradient(circle, #ef4444 0%, #dc2626 100%); } .voice-live-orb.speaking { background: radial-gradient(circle, #7c3aed 0%, #6d28d9 100%); } .voice-stream-status-label { font-size: 13px; font-weight: 800; color: var(--text-main); margin-bottom: 16px; } .projects-grid-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; margin-top: 12px; } .project-card-empty { grid-column: 1 / -1; text-align: center; padding: 40px; background: var(--bg-card-sub); border: 1.5px dashed var(--border-light); border-radius: var(--radius-xl); color: var(--text-muted); display: flex; flex-direction: column; align-items: center; gap: 10px; font-size: 14px; } .project-card-empty i { font-size: 32px; color: var(--border); } .d3e4f5g6h7i8j9k0l1m2n3o4p5q6r7s8 { background: var(--bg-card); border: 1.5px solid var(--border-light); border-radius: var(--radius-xl); padding: clamp(14px, 1.8vw, 24px); display: flex; flex-direction: column; gap: 16px; } .f3g4h5i6j7k8l9m0n1o2p3q4r5s6t7u8 { display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid var(--bg-main); padding-bottom: 10px; } .g3h4i5j6k7l8m9n0o1p2q3r4s5t6u7v8 { font-size: clamp(14px, 1.2vw, 18px); font-weight: 900; color: var(--text-main); display: flex; align-items: center; gap: 8px; } .j3k4l5m6n7o8p9q0r1s2t3u4v5w6x7y8 { font-size: var(--font-size-body); font-weight: 600; color: var(--text-muted); line-height: 1.6; } .e3f4g5h6i7j8k9l0m1n2o3p4q5r6s7t8 { background: var(--bg-card-sub); } .k3l4m5n6o7p8q9r0s1t2u3v4w5x6y7z8 { display: flex; flex-direction: column; gap: 12px; } .l3m4n5o6p7q8r9s0t1u2v3w4x5y6z7a8 { display: flex; flex-direction: column; gap: 6px; } .l3m4n5o6p7q8r9s0t1u2v3w4x5y6z7a8 label { font-size: 12px; font-weight: 800; color: var(--text-muted); display: flex; align-items: center; gap: 6px; } .m3n4o5p6q7r8s9t0u1v2w3x4y5z6a7b8 { display: flex; align-items: center; gap: 8px; } .o3p4q5r6s7t8u9v0w1x2y3z4a5b6c7d8 { background: var(--bg-card); border: 1.5px solid var(--border-light); padding: 8px 14px; border-radius: var(--radius-md); font-size: 12px; font-weight: 800; color: var(--text-main); cursor: pointer; display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; } .o3p4q5r6s7t8u9v0w1x2y3z4a5b6c7d8:hover { border-color: var(--primary-border); color: var(--primary); } #n3o4p5q6r7s8t9u0v1w2x3y4z5a6b7c8 { flex: 1; padding: 10px 14px; border: 1.5px solid var(--border-light); border-radius: var(--radius-md); font-family: var(--font-code); font-size: 12px; background: #ffffff; color: var(--primary); font-weight: 700; outline: none; } .q3r4s5t6u7v8w9x0y1z2a3b4c5d6e7f8 { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; } .r3s4t5u6v7w8x9y0z1a2b3c4d5e6f7g8 { padding: 20px; border-radius: var(--radius-xl); border: 1.5px solid var(--border-light); display: flex; flex-direction: column; gap: 10px; background: #ffffff; } .s3t4u5v6w7x8y9z0a1b2c3d4e5f6g7h8 { background: var(--primary-light); border-color: var(--primary-border); } .b4c5d6e7f8g9h0i1j2k3l4m5n6o7p8q9 { background: var(--accent-amber-light); border-color: var(--accent-amber-border); } .t3u4v5w6x7y8z9a0b1c2d3e4f5g6h7i8 { display: flex; justify-content: space-between; align-items: center; } .u3v4w5x6y7z8a9b0c1d2e3f4g5h6i7j8 { font-size: 14px; font-weight: 800; display: flex; align-items: center; gap: 6px; } .w3x4y5z6a7b8c9d0e1f2g3h4i5j6k7l8 { font-size: var(--font-size-card-val); font-weight: 900; line-height: 1.1; display: flex; align-items: baseline; gap: 6px; } .y3z4a5b6c7d8e9f0g1h2i3j4k5l6m7n8 { font-size: var(--font-size-small); color: var(--text-muted); } .c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9 { font-size: 11px; font-weight: 800; padding: 3px 8px; border-radius: var(--radius-pill); background: var(--bg-card); color: var(--accent-amber); } .j5k6l7m8n9o0p1q2r3s4t5u6v7w8x9y0 { display: flex; flex-direction: column; gap: 14px; } .l5m6n7o8p9q0r1s2t3u4v5w6x7y8z9a0 { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; } .m5n6o7p8q9r0s1t2u3v4w5x6y7z8a9b0 { display: flex; flex-direction: column; gap: 6px; } .m5n6o7p8q9r0s1t2u3v4w5x6y7z8a9b0 label { font-size: 12px; font-weight: 800; color: var(--text-main); display: flex; align-items: center; gap: 6px; } .x4y5z6a7b8c9d0e1f2g3h4i5j6k7l8m9, .z4a5b6c7d8e9f0g1h2i3j4k5l6m7n8o9 { width: 100%; padding: 10px 14px; border: 1.5px solid var(--border-light); border-radius: var(--radius-md); font-family: var(--font-main); font-size: 13px; background: #ffffff; color: var(--text-main); outline: none; } .x4y5z6a7b8c9d0e1f2g3h4i5j6k7l8m9:focus { border-color: var(--primary); } .o5p6q7r8s9t0u1v2w3x4y5z6a7b8c9d0 { font-size: 18px; font-weight: 900; color: var(--primary); font-family: var(--font-code); } .s5t6u7v8w9x0y1z2a3b4c5d6e7f8g9h0 { font-family: var(--font-code); font-size: 12px; } .t5u6v7w8x9y0z1a2b3c4d5e6f7g8h9i0 { padding: 14px; background: var(--bg-card-sub); border-radius: var(--radius-lg); border: 1px solid var(--border-light); } .u5v6w7x8y9z0a1b2c3d4e5f6g7h8i9j0 { display: flex; align-items: center; } .v5w6x7y8z9a0b1c2d3e4f5g6h7i8j9k0 { font-size: 13px; font-weight: 800; cursor: pointer; display: flex; align-items: center; gap: 8px; } .v5w6x7y8z9a0b1c2d3e4f5g6h7i8j9k0 input { accent-color: var(--primary); width: 16px; height: 16px; } .y5z6a7b8c9d0e1f2g3h4i5j6k7l8m9n0 { margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--border); display: flex; flex-direction: column; gap: 12px; } .a6b7c8d9e0f1g2h3i4j5k6l7m8n9o0p1 { gap: 8px; } .b6c7d8e9f0g1h2i3j4k5l6m7n8o9p0q1 { display: flex; flex-direction: column; gap: 6px; } .c6d7e8f9g0h1i2j3k4l5m6n7o8p9q0r1 { font-size: 12px; cursor: pointer; display: flex; align-items: center; gap: 8px; } .d6e7f8g9h0i1j2k3l4m5n6o7p8q9r0s1 { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; } .q5r6s7t8u9v0w1x2y3z4a5b6c7d8e9f0 { margin-top: 10px; } .i6j7k8l9m0n1o2p3q4r5s6t7u8v9w0x1 { display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; background: var(--primary-light); border: 1px solid var(--primary-border); border-radius: var(--radius-md); } .j6k7l8m9n0o1p2q3r4s5t6u7v8w9x0y1 { font-size: 13px; font-weight: 700; display: flex; align-items: center; gap: 8px; } .j6k7l8m9n0o1p2q3r4s5t6u7v8w9x0y1 strong { font-family: var(--font-code); font-size: 16px; color: var(--primary); } .l6m7n8o9p0q1r2s3t4u5v6w7x8y9z0a1 strong { color: var(--text-muted); } .m6n7o8p9q0r1s2t3u4v5w6x7y8z9a0b1 { background: var(--primary); color: #ffffff; border: none; padding: 12px 20px; border-radius: var(--radius-lg); font-family: var(--font-main); font-size: 14px; font-weight: 800; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; } .m6n7o8p9q0r1s2t3u4v5w6x7y8z9a0b1:hover { background: var(--primary-hover); } .n6o7p8q9r0s1t2u3v4w5x6y7z8a9b0c1 { width: 100%; } .q6r7s8t9u0v1w2x3y4z5a6b7c8d9e0f1 { background: var(--bg-card-sub); padding: 12px; border-radius: var(--radius-lg); border: 1px solid var(--border-light); display: flex; flex-direction: column; gap: 8px; } .q6r7s8t9u0v1w2x3y4z5a6b7c8d9e0f1 label { font-size: 12px; font-weight: 800; color: var(--primary); display: flex; align-items: center; gap: 6px; } .s6t7u8v9w0x1y2z3a4b5c6d7e8f9g0h1 { display: flex; gap: 8px; } #t6u7v8w9x0y1z2a3b4c5d6e7f8g9h0i1 { flex: 1; padding: 8px 12px; border: 1.5px solid var(--border-light); border-radius: var(--radius-md); font-family: var(--font-code); font-size: 11px; background: #ffffff; } .v6w7x8y9z0a1b2c3d4e5f6g7h8i9j0k1 { display: flex; flex-direction: column; gap: 14px; } .y6z7a8b9c0d1e2f3g4h5i6j7k8l9m0n1 { font-family: var(--font-code); font-size: 12px; resize: vertical; min-height: 80px; } .b7c8d9e0f1g2h3i4j5k6l7m8n9o0p1q2 { background: var(--accent-purple); color: #ffffff; border: none; padding: 12px 20px; border-radius: var(--radius-lg); font-family: var(--font-main); font-size: 14px; font-weight: 800; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; } .b7c8d9e0f1g2h3i4j5k6l7m8n9o0p1q2:hover { background: var(--accent-purple-hover); } .d7e8f9g0h1i2j3k4l5m6n7o8p9q0r1s2 { padding: 12px; border-radius: var(--radius-md); font-size: 13px; font-weight: 700; } .f7g8h9i0j1k2l3m4n5o6p7q8r9s0t1u2 { background: var(--success-light); border: 1.5px solid var(--success-border); padding: 16px; border-radius: var(--radius-lg); display: flex; flex-direction: column; gap: 10px; } .f7g8h9i0j1k2l3m4n5o6p7q8r9s0t1u2 h4 { font-size: 14px; font-weight: 900; color: var(--success); display: flex; align-items: center; gap: 8px; } .h7i8j9k0l1m2n3o4p5q6r7s8t9u0v1w2 { display: flex; flex-direction: column; gap: 6px; } .i7j8k9l0m1n2o3p4q5r6s7t8u9v0w1x2 { font-size: 12px; display: flex; justify-content: space-between; } .i7j8k9l0m1n2o3p4q5r6s7t8u9v0w1x2 strong { font-weight: 800; font-family: var(--font-code); } .n7o8p9q0r1s2t3u4v5w6x7y8z9a0b1c2 { display: flex; flex-direction: column; gap: 12px; } .p7q8r9s0t1u2v3w4x5y6z7a8b9c0d1e2 { display: flex; flex-direction: column; gap: 10px; } .p4q5r6s7t8u9v0w1x2y3z4a5b6c7d8e9 { padding: 30px; text-align: center; background: var(--bg-card-sub); border: 1.5px dashed var(--border-light); border-radius: var(--radius-xl); color: var(--text-muted); font-size: 13px; display: flex; flex-direction: column; align-items: center; gap: 8px; } .p4q5r6s7t8u9v0w1x2y3z4a5b6c7d8e9 i { font-size: 24px; } .q4r5s6t7u8v9w0x1y2z3a4b5c6d7e8f9 { display: flex; align-items: center; gap: 8px; } .t4u5v6w7x8y9z0a1b2c3d4e5f6g7h8i9 { display: flex; gap: 12px; flex-wrap: wrap; } .u4v5w6x7y8z9a0b1c2d3e4f5g6h7i8j9 { flex: 1; min-width: 180px; } .d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0 { display: flex; justify-content: space-between; align-items: center; font-size: 12px; font-weight: 800; color: var(--text-muted); } .f5g6h7i8j9k0l1m2n3o4p5q6r7s8t9u0 { background: none; border: none; color: var(--primary); font-weight: 800; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; font-size: 12px; } .m4n5o6p7q8r9s0t1u2v3w4x5y6z7a8b9 { width: 100%; overflow-x: auto; border-radius: var(--radius-lg); border: 1.5px solid var(--border-light); } .n4o5p6q7r8s9t0u1v2w3x4y5z6a7b8c9 { width: 100%; border-collapse: collapse; text-align: right; direction: rtl; font-size: 13px; min-width: 520px; } .n4o5p6q7r8s9t0u1v2w3x4y5z6a7b8c9 th { color: var(--text-main); font-weight: 800; font-size: 12px; padding: 12px 14px; border-bottom: 1.5px solid var(--border-light); background: var(--bg-card-sub); } .n4o5p6q7r8s9t0u1v2w3x4y5z6a7b8c9 td { padding: 12px 14px; background: var(--bg-card); color: var(--text-main); border-bottom: 1px solid var(--border-light); } .a7k2m9x4p6v1n8q3r5t7y2w9c4h6j8 { display: flex; flex-direction: column; gap: 14px; } .z4m7x1q9v3k8r5t2p6d0h7w4c1b9n8l { margin-top: 10px; } .r7s8t9u0v1w2x3y4z5a6b7c8d9e0f1g2 { display: flex; flex-direction: column; gap: 16px; } #s7t8u9v0w1x2y3z4a5b6c7d8e9f0g1h2 { flex: 1; padding: 10px 14px; border: 1.5px solid var(--border-light); border-radius: var(--radius-md); font-family: var(--font-code); font-size: 12px; background: #ffffff; color: var(--primary); font-weight: 700; outline: none; } .h6q3m8x1v9k4r7t2p5d0w8c6z1b9n4l { background: var(--bg-card-sub); border: 1.5px solid var(--border-light); padding: 18px; border-radius: var(--radius-xl); display: flex; flex-direction: column; gap: 12px; } .b4q8x2m7n5k1v9r3t6y4p8c2w7h5j9 { display: flex; justify-content: space-between; align-items: center; } .b4q8x2m7n5k1v9r3t6y4p8c2w7h5j9 h4 { font-size: 14px; font-weight: 900; color: var(--text-main); display: flex; align-items: center; gap: 8px; } .c9v3k7x1m8q4n6r2t9y5p3w8h4j7a6 { font-size: 11px; font-weight: 800; padding: 3px 10px; border-radius: var(--radius-pill); background: var(--border-light); color: var(--text-muted); } .c9v3k7x1m8q4n6r2t9y5p3w8h4j7a6.active { background: var(--success-light); color: var(--success); border: 1px solid var(--success-border); } .d2m8q5x9v4k7n1r6t3y8p5c9w2h4j7 { display: flex; gap: 10px; } .x7y8z9a0b1c2d3e4f5g6h7i8j9k0l1m2 { background: var(--danger-light); color: var(--danger); border: 1px solid var(--danger-border); padding: 10px 18px; border-radius: var(--radius-md); font-weight: 800; font-size: 13px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; } .w5m9x2q7v1k8r4t6p3n0d7h9c2z5b8l { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(15, 23, 42, 0.65); z-index: var(--z-modal-backdrop); display: flex; justify-content: center; align-items: center; padding: 16px; } .w5m9x2q7v1k8r4t6p3n0d7h9c2z5b8l > div { background: #ffffff; border: 1.5px solid var(--border-light); border-radius: var(--radius-xl); width: 100%; max-width: 440px; } .lightbox-content-box { max-width: 800px !important; max-height: 90vh; display: flex; flex-direction: column; } .lightbox-header { padding: 12px 18px; border-bottom: 1px solid var(--border-light); display: flex; justify-content: space-between; align-items: center; font-weight: 800; } .lightbox-body { padding: 16px; display: flex; justify-content: center; align-items: center; background: #000000; overflow: hidden; } .lightbox-body img { max-width: 100%; max-height: 75vh; object-fit: contain; } .h3q8m1x7v4k9r2t6p5d0w8c3z7b1n9l { background: var(--bg-card-sub); padding: 16px 20px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--border-light); } .h3q8m1x7v4k9r2t6p5d0w8c3z7b1n9l h3 { font-size: 16px; font-weight: 900; color: var(--text-main); display: flex; align-items: center; gap: 8px; } .s9x3k7m1q8v4r6t2p5d0h9w3c7z1b8l { background: none; border: none; font-size: 22px; color: var(--text-muted); cursor: pointer; } .h3n7v5k9q2m6x4r8t1y7p3c5w9j2a6 { padding: 20px; display: flex; flex-direction: column; gap: 14px; } .k4m9x1q7v3r8t5p2n6d0h4w9c7z1b8l { padding: 14px 20px; background: var(--bg-main); border-top: 1px solid var(--border-light); display: flex; gap: 10px; } .q6v2m9x4k7r1t8p3n5d0h6w2c9z4b8l { position: relative; } #c7m2x9q4v8k1r6t3p5n0d7h2w9b4l8z { text-align: center; font-family: var(--font-code); font-size: 24px; letter-spacing: 8px; } .b7q3m9x1v8k4r6t2p5d0h9w3c7z1n8l { display: flex; justify-content: center; gap: 8px; margin-top: 8px; } .f4m9k2x7q1v6z3n8r5w0p4c9y2h7t6a { width: 12px; height: 12px; border-radius: 50%; background: var(--border); } .f4m9k2x7q1v6z3n8r5w0p4c9y2h7t6a.filled { background: var(--primary); } .i7m2x8q4v9k3n5r1t6y8p4c7w2h9j5 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; direction: ltr; } .m8q3x7v1k9r4t6p2n5d0h8w3c7z1b6l { padding: 12px; font-family: var(--font-code); font-size: 18px; font-weight: 800; border-radius: var(--radius-md); border: 1.5px solid var(--border-light); background: var(--bg-card); cursor: pointer; display: flex; align-items: center; justify-content: center; } .m8q3x7v1k9r4t6p2n5d0h8w3c7z1b6l:hover { background: var(--primary-light); color: var(--primary); border-color: var(--primary-border); } .m8q3x7v1k9r4t6p2n5d0h8w3c7z1b6l.action-btn { font-size: 13px; font-family: var(--font-main); background: var(--bg-card-sub); } .r8x2m7q4v1k9t5p3n6d0h8w2c7z4b1l { padding: 10px; border-radius: var(--radius-md); font-size: 12px; font-weight: 700; text-align: center; background: var(--danger-light); color: var(--danger); border: 1px solid var(--danger-border); } .k9l0m1n2o3p4q5r6s7t8u9v0w1x2y3z4 { position: fixed; bottom: clamp(12px, 2vw, 24px); left: clamp(12px, 2vw, 24px); z-index: var(--z-toast); display: flex; flex-direction: column; gap: 10px; max-width: 400px; pointer-events: none; } .q4m8x2v7k1r9t5p3n6d0h8w4c7z2b9l { display: none; position: fixed; bottom: 0; right: 0; left: 0; height: 62px; background: #ffffff; border-top: 1px solid var(--border-light); z-index: var(--z-bottom-nav); padding: 4px; } .x7q2m9v4k1r8t5p3n6d0h7w2c9z4b8l { display: flex; justify-content: space-around; align-items: center; height: 100%; } .p6m3x9q2v8k1r5t7n4d0h6w9c2z8b1l { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; flex: 1; height: 100%; color: var(--text-muted); cursor: pointer; } .p6m3x9q2v8k1r5t7n4d0h6w9c2z8b1l.a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7 { color: var(--primary); font-weight: 800; } .p6m3x9q2v8k1r5t7n4d0h6w9c2z8b1l i { font-size: 16px; } .p6m3x9q2v8k1r5t7n4d0h6w9c2z8b1l span { font-size: 10px; } .onboarding-modal-card { background: #ffffff !important; border: 1.5px solid var(--primary-border) !important; border-radius: var(--radius-xl) !important; width: 100% !important; max-width: 620px !important; max-height: 90vh !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } .onboarding-header { padding: 16px 22px; background: var(--bg-card-sub); border-bottom: 1px solid var(--border-light); display: flex; justify-content: space-between; align-items: center; flex-shrink: 0; } .onboarding-logo-title { display: flex; align-items: center; gap: 10px; font-weight: 800; font-size: 15px; color: var(--text-main); } .onboarding-app-logo { width: 32px !important; height: 32px !important; border-radius: 8px; } .onboarding-step-indicator { display: flex; align-items: center; gap: 8px; direction: ltr; } .step-dot { width: 28px; height: 28px; border-radius: 50%; background: var(--border-light); color: var(--text-muted); font-size: 12px; font-weight: 800; display: flex; align-items: center; justify-content: center; } .step-dot.active { background: var(--primary); color: #ffffff; } .step-dot.completed { background: var(--primary-light); color: var(--primary); border: 1.5px solid var(--primary-border); } .onboarding-body-wrapper { padding: 24px; flex: 1; overflow-y: auto; display: flex; flex-direction: column; } .onboarding-step-content { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; } .onboarding-hero-icon { width: 72px; height: 72px; border-radius: 22px; background: var(--primary-light); color: var(--primary); border: 1.5px solid var(--primary-border); display: flex; align-items: center; justify-content: center; font-size: 32px; } .onboarding-step-content h2 { font-size: clamp(18px, 1.8vw, 22px); font-weight: 900; color: var(--text-main); margin: 0; } .onboarding-subtitle { font-size: 13px; color: var(--text-muted); line-height: 1.6; max-width: 500px; } .onboarding-features-list { display: flex; flex-direction: column; gap: 12px; width: 100%; text-align: right; margin-top: 8px; } .onboarding-feature-item { display: flex; align-items: flex-start; gap: 12px; padding: 12px 16px; background: var(--bg-card-sub); border: 1px solid var(--border-light); border-radius: var(--radius-lg); } .onboarding-feature-item i { font-size: 20px; margin-top: 2px; flex-shrink: 0; } .onboarding-feature-item div { display: flex; flex-direction: column; gap: 2px; } .onboarding-feature-item strong { font-size: 13px; font-weight: 800; color: var(--text-main); } .onboarding-feature-item span { font-size: 11px; color: var(--text-muted); line-height: 1.4; } .onboarding-cards-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; width: 100%; margin-top: 8px; } .onboarding-mini-card { background: #ffffff; border: 1.5px solid var(--border-light); border-radius: var(--radius-lg); padding: 14px; display: flex; flex-direction: column; align-items: flex-start; text-align: right; gap: 6px; } .onboarding-mini-card:hover { border-color: var(--primary-border); } .onboarding-mini-card i { font-size: 22px; } .onboarding-mini-card h4 { font-size: 12px; font-weight: 800; color: var(--text-main); margin: 2px 0 0 0; } .onboarding-mini-card span { font-size: 10px; color: var(--text-muted); line-height: 1.4; } .onboarding-input-group { display: flex; flex-direction: column; gap: 6px; width: 100%; text-align: right; margin-top: 8px; } .onboarding-input-group label { font-size: 12px; font-weight: 800; color: var(--text-main); display: flex; align-items: center; gap: 6px; } .onboarding-preference-toggles { display: flex; flex-direction: column; gap: 10px; width: 100%; text-align: right; margin-top: 6px; } .onboarding-footer { padding: 16px 22px; background: var(--bg-card-sub); border-top: 1px solid var(--border-light); display: flex; align-items: center; gap: 12px; flex-shrink: 0; } @media (max-width: 1024px) { body { padding-bottom: 68px; } .q4m8x2v7k1r9t5p3n6d0h8w4c7z2b9l { display: block; } .chat-layout-split-wrapper { flex-direction: column; } .canvas-artifacts-panel { width: 100%; min-width: 0; height: 450px; } .home-bottom-sections-wrapper { grid-template-columns: 1fr; } } @media (max-width: 640px) { .a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6 { padding: 6px; } .c1d2e3f4g5h6i7j8k9l0m1n2o3p4q5r6 { border-radius: var(--radius-lg); padding: 8px 12px; } .home-hub-welcome-banner { flex-direction: column; text-align: center; padding: 16px; } .home-quick-stats { justify-content: center; } .q3r4s5t6u7v8w9x0y1z2a3b4c5d6e7f8 { grid-template-columns: 1fr; } .chat-message-row { max-width: 96%; } .header-model-selector-wrapper { width: 100%; margin-top: 4px; } .model-select-dropdown { width: 100%; } .onboarding-body-wrapper { padding: 16px; } .onboarding-hero-icon { width: 56px; height: 56px; font-size: 24px; } .onboarding-cards-grid { grid-template-columns: 1fr; } }