khadija / style.css
Althnayi's picture
Upload style.css
377cfaa verified
Raw
History Blame Contribute Delete
56 kB
: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;
}
}