Files
KrisHD_AI/public/style.css
T
2026-06-30 11:12:01 +02:00

6471 lines
158 KiB
CSS

:root {
--bg: #f2ede4;
--bg-soft: #e7dfd1;
--surface: rgba(255, 252, 246, 0.82);
--surface-strong: rgba(255, 249, 240, 0.94);
--surface-dark: #1f2a2a;
--surface-dark-soft: #2c3938;
--surface-accent: #d9c3a5;
--text: #18201f;
--text-soft: #51605f;
--text-muted: #6e7a78;
--line: rgba(24, 32, 31, 0.09);
--line-strong: rgba(24, 32, 31, 0.18);
--brand: #a4552d;
--brand-strong: #7d391a;
--brand-soft: #f0c9b4;
--success: #25735d;
--error: #b5473d;
--shadow: 0 10px 30px rgba(68, 48, 28, 0.08);
--radius-xl: 18px;
--radius-lg: 14px;
--radius-md: 10px;
--radius-sm: 8px;
--bg-gradient:
linear-gradient(180deg, #f7f7f8 0%, #ecefed 100%);
--bg-overlay:
linear-gradient(rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.06));
--hero-gradient: linear-gradient(180deg, rgba(248, 255, 252, 0.92), rgba(236, 243, 239, 0.88));
--overview-gradient: linear-gradient(180deg, rgba(248, 255, 252, 0.92), rgba(236, 243, 239, 0.88));
--assistant-message: #1f2937;
--assistant-message-text: #eff4f2;
--button-text: #fff8f0;
--panel-subtle: rgba(255, 251, 245, 0.55);
--panel-soft: rgba(255, 253, 249, 0.56);
--panel-soft-strong: rgba(252, 248, 240, 0.82);
--chip-surface: rgba(255, 252, 246, 0.8);
--chip-muted: rgba(24, 32, 31, 0.06);
--field-surface: rgba(255, 253, 249, 0.92);
--field-surface-strong: rgba(255, 253, 249, 0.96);
--field-focus-surface: #fffdfa;
--field-focus-border: rgba(164, 85, 45, 0.55);
--field-focus-ring: 0 0 0 4px rgba(164, 85, 45, 0.12);
--status-surface: rgba(24, 32, 31, 0.04);
--status-border: rgba(24, 32, 31, 0.06);
--status-error-surface: rgba(181, 71, 61, 0.09);
--status-error-border: rgba(181, 71, 61, 0.2);
--status-success-surface: rgba(37, 115, 93, 0.1);
--status-success-border: rgba(37, 115, 93, 0.2);
--secondary-surface: rgba(164, 85, 45, 0.1);
--secondary-surface-strong: rgba(164, 85, 45, 0.18);
--secondary-border: rgba(164, 85, 45, 0.18);
--secondary-border-strong: rgba(164, 85, 45, 0.34);
--item-hover-border: rgba(164, 85, 45, 0.28);
--item-active-border: rgba(164, 85, 45, 0.48);
--overlay-surface: linear-gradient(180deg, rgba(244, 239, 231, 0.78), rgba(248, 245, 239, 0.86));
--overlay-card-surface: linear-gradient(155deg, rgba(255, 253, 249, 0.96), rgba(248, 241, 233, 0.94));
--overlay-card-border: rgba(24, 32, 31, 0.1);
--overlay-card-shadow: 0 24px 70px rgba(56, 39, 21, 0.16);
--prompt-chip-surface: rgba(255, 251, 245, 0.65);
--messages-surface: rgba(252, 248, 240, 0.52);
--pill-surface: rgba(24, 32, 31, 0.04);
--pill-border: rgba(24, 32, 31, 0.08);
--tag-surface: rgba(24, 32, 31, 0.06);
--tag-ai-surface: rgba(164, 85, 45, 0.12);
--tag-user-surface: rgba(37, 115, 93, 0.12);
--panel-elevated: rgba(255, 253, 249, 0.98);
--sidebar-bg: rgba(255, 250, 244, 0.72);
--sidebar-border: rgba(24, 32, 31, 0.08);
--message-user-bg: linear-gradient(145deg, var(--brand), var(--brand-strong));
--message-user-text: var(--button-text);
--message-bot-bg: var(--panel-elevated);
--message-bot-text: var(--text);
--composer-bg: rgba(255, 252, 247, 0.96);
--composer-shadow: 0 -10px 30px rgba(46, 31, 14, 0.06);
--nav-surface: rgba(255, 250, 244, 0.84);
--nav-item-surface: rgba(255, 255, 255, 0.58);
--editorial-surface: linear-gradient(180deg, rgba(255, 252, 247, 0.96), rgba(247, 239, 229, 0.92));
}
body[data-theme="fakegpt"] {
--bg: #f7f7f8;
--bg-soft: #ecefed;
--surface: rgba(255, 255, 255, 0.82);
--surface-strong: rgba(255, 255, 255, 0.94);
--surface-dark: #1f2937;
--surface-dark-soft: #374151;
--surface-accent: #d8f3e7;
--text: #111827;
--text-soft: #4b5563;
--text-muted: #6b7280;
--line: rgba(17, 24, 39, 0.08);
--line-strong: rgba(17, 24, 39, 0.16);
--brand: #10a37f;
--brand-strong: #0c7c61;
--brand-soft: #cff6ea;
--success: #0f8a67;
--error: #c2410c;
--shadow: 0 10px 30px rgba(16, 52, 44, 0.08);
--bg-gradient:
linear-gradient(180deg, #f7f7f8 0%, #ecefed 100%);
--hero-gradient: linear-gradient(180deg, rgba(248, 255, 252, 0.92), rgba(236, 243, 239, 0.88));
--overview-gradient: linear-gradient(180deg, rgba(248, 255, 252, 0.92), rgba(236, 243, 239, 0.88));
--assistant-message: #202123;
--assistant-message-text: #f3f4f6;
--button-text: #f8fffc;
--panel-subtle: rgba(246, 251, 249, 0.58);
--panel-soft: rgba(255, 255, 255, 0.62);
--panel-soft-strong: rgba(255, 255, 255, 0.82);
--chip-surface: rgba(255, 255, 255, 0.82);
--chip-muted: rgba(17, 24, 39, 0.06);
--field-surface: rgba(255, 255, 255, 0.92);
--field-surface-strong: rgba(255, 255, 255, 0.96);
--field-focus-surface: #ffffff;
--field-focus-border: rgba(16, 163, 127, 0.48);
--field-focus-ring: 0 0 0 4px rgba(16, 163, 127, 0.12);
--secondary-surface: rgba(16, 163, 127, 0.1);
--secondary-surface-strong: rgba(16, 163, 127, 0.18);
--secondary-border: rgba(16, 163, 127, 0.16);
--secondary-border-strong: rgba(16, 163, 127, 0.28);
--item-hover-border: rgba(16, 163, 127, 0.26);
--item-active-border: rgba(16, 163, 127, 0.42);
--overlay-surface: linear-gradient(180deg, rgba(241, 249, 246, 0.82), rgba(236, 243, 239, 0.9));
--overlay-card-surface: linear-gradient(155deg, rgba(255, 255, 255, 0.97), rgba(239, 247, 243, 0.95));
--overlay-card-shadow: 0 24px 70px rgba(16, 52, 44, 0.14);
--prompt-chip-surface: rgba(248, 255, 252, 0.72);
--messages-surface: rgba(243, 248, 246, 0.62);
--pill-surface: rgba(17, 24, 39, 0.04);
--pill-border: rgba(17, 24, 39, 0.08);
--tag-surface: rgba(17, 24, 39, 0.06);
--tag-ai-surface: rgba(16, 163, 127, 0.12);
--tag-user-surface: rgba(15, 138, 103, 0.12);
--panel-elevated: rgba(255, 255, 255, 0.98);
--sidebar-bg: rgba(247, 251, 249, 0.82);
--sidebar-border: rgba(17, 24, 39, 0.07);
--message-user-bg: linear-gradient(145deg, #10a37f, #0c7c61);
--message-user-text: #f8fffc;
--message-bot-bg: #ffffff;
--message-bot-text: #111827;
--composer-bg: rgba(255, 255, 255, 0.98);
--composer-shadow: 0 -10px 28px rgba(16, 52, 44, 0.06);
--nav-surface: rgba(247, 251, 249, 0.88);
--nav-item-surface: rgba(255, 255, 255, 0.7);
--editorial-surface: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(239, 247, 243, 0.95));
}
body[data-theme="fraud"] {
--bg: #f7f2ea;
--bg-soft: #ede4d7;
--surface: rgba(255, 250, 244, 0.84);
--surface-strong: rgba(255, 249, 242, 0.95);
--text: #2d261e;
--text-soft: #63584b;
--text-muted: #88796a;
--line: rgba(45, 38, 30, 0.09);
--line-strong: rgba(45, 38, 30, 0.16);
--brand: #c46f4c;
--brand-strong: #9d5638;
--brand-soft: #f8d5c4;
--success: #6f8360;
--error: #b55a47;
--shadow: 0 10px 30px rgba(94, 58, 33, 0.08);
--bg-gradient:
linear-gradient(180deg, #f8f1e8 0%, #ede3d5 100%);
--hero-gradient: linear-gradient(180deg, rgba(255, 250, 244, 0.92), rgba(241, 230, 216, 0.9));
--overview-gradient: linear-gradient(180deg, rgba(255, 250, 244, 0.92), rgba(241, 230, 216, 0.9));
--assistant-message: #40352f;
--assistant-message-text: #faf4ef;
--button-text: #fff9f4;
--panel-subtle: rgba(255, 248, 240, 0.6);
--panel-soft: rgba(255, 249, 242, 0.62);
--panel-soft-strong: rgba(252, 246, 238, 0.82);
--chip-surface: rgba(255, 250, 244, 0.82);
--chip-muted: rgba(45, 38, 30, 0.06);
--field-surface: rgba(255, 249, 242, 0.92);
--field-surface-strong: rgba(255, 249, 242, 0.96);
--field-focus-surface: #fffaf5;
--field-focus-border: rgba(196, 111, 76, 0.45);
--field-focus-ring: 0 0 0 4px rgba(196, 111, 76, 0.12);
--secondary-surface: rgba(196, 111, 76, 0.1);
--secondary-surface-strong: rgba(196, 111, 76, 0.18);
--secondary-border: rgba(196, 111, 76, 0.18);
--secondary-border-strong: rgba(196, 111, 76, 0.32);
--item-hover-border: rgba(196, 111, 76, 0.24);
--item-active-border: rgba(196, 111, 76, 0.38);
--overlay-surface: linear-gradient(180deg, rgba(245, 236, 227, 0.82), rgba(250, 244, 236, 0.88));
--overlay-card-surface: linear-gradient(155deg, rgba(255, 251, 245, 0.97), rgba(246, 237, 226, 0.94));
--overlay-card-shadow: 0 24px 70px rgba(94, 58, 33, 0.14);
--prompt-chip-surface: rgba(255, 250, 244, 0.74);
--messages-surface: rgba(250, 243, 234, 0.62);
--pill-surface: rgba(45, 38, 30, 0.04);
--pill-border: rgba(45, 38, 30, 0.08);
--tag-surface: rgba(45, 38, 30, 0.06);
--tag-ai-surface: rgba(196, 111, 76, 0.12);
--tag-user-surface: rgba(111, 131, 96, 0.14);
--panel-elevated: rgba(255, 250, 244, 0.98);
--sidebar-bg: rgba(251, 244, 236, 0.8);
--sidebar-border: rgba(45, 38, 30, 0.08);
--message-user-bg: linear-gradient(145deg, #c46f4c, #9d5638);
--message-user-text: #fff9f4;
--message-bot-bg: rgba(255, 251, 246, 0.98);
--message-bot-text: #2d261e;
--composer-bg: rgba(255, 249, 242, 0.98);
--composer-shadow: 0 -10px 28px rgba(94, 58, 33, 0.06);
--nav-surface: rgba(250, 243, 235, 0.88);
--nav-item-surface: rgba(255, 251, 246, 0.68);
--editorial-surface: linear-gradient(180deg, rgba(255, 251, 245, 0.98), rgba(246, 237, 226, 0.95));
}
body[data-theme="germini"] {
--bg: #eef3ff;
--bg-soft: #e0e9ff;
--surface: rgba(248, 250, 255, 0.84);
--surface-strong: rgba(251, 252, 255, 0.96);
--text: #17203d;
--text-soft: #4c5b86;
--text-muted: #7380ab;
--line: rgba(23, 32, 61, 0.08);
--line-strong: rgba(23, 32, 61, 0.16);
--brand: #5a6df0;
--brand-strong: #a14ae8;
--brand-soft: #d9dbff;
--success: #2d8f85;
--error: #bf4b7b;
--shadow: 0 10px 30px rgba(69, 75, 162, 0.1);
--bg-gradient:
linear-gradient(180deg, #f0f4ff 0%, #e3eaff 100%);
--hero-gradient: linear-gradient(180deg, rgba(247, 249, 255, 0.94), rgba(229, 235, 255, 0.9));
--overview-gradient: linear-gradient(180deg, rgba(247, 249, 255, 0.94), rgba(229, 235, 255, 0.9));
--assistant-message: linear-gradient(145deg, #3046c8, #7e3fdc);
--assistant-message-text: #f8f7ff;
--button-text: #f8f7ff;
--panel-subtle: rgba(255, 255, 255, 0.34);
--panel-soft: rgba(255, 255, 255, 0.38);
--panel-soft-strong: rgba(255, 255, 255, 0.46);
--chip-surface: rgba(255, 255, 255, 0.38);
--chip-muted: rgba(255, 255, 255, 0.2);
--field-surface: rgba(255, 255, 255, 0.42);
--field-surface-strong: rgba(255, 255, 255, 0.46);
--field-focus-surface: rgba(255, 255, 255, 0.52);
--field-focus-border: rgba(90, 109, 240, 0.34);
--field-focus-ring: 0 0 0 4px rgba(90, 109, 240, 0.12);
--secondary-surface: rgba(255, 255, 255, 0.3);
--secondary-surface-strong: rgba(255, 255, 255, 0.42);
--secondary-border: rgba(255, 255, 255, 0.32);
--secondary-border-strong: rgba(255, 255, 255, 0.48);
--item-hover-border: rgba(255, 255, 255, 0.42);
--item-active-border: rgba(90, 109, 240, 0.34);
--overlay-surface: linear-gradient(180deg, rgba(227, 235, 255, 0.74), rgba(241, 245, 255, 0.84));
--overlay-card-surface: linear-gradient(155deg, rgba(255, 255, 255, 0.78), rgba(235, 238, 255, 0.86));
--overlay-card-border: rgba(255, 255, 255, 0.34);
--overlay-card-shadow: 0 24px 70px rgba(98, 110, 255, 0.16);
--prompt-chip-surface: rgba(255, 255, 255, 0.36);
--messages-surface: rgba(255, 255, 255, 0.3);
--pill-surface: rgba(255, 255, 255, 0.22);
--pill-border: rgba(255, 255, 255, 0.3);
--tag-surface: rgba(255, 255, 255, 0.24);
--tag-ai-surface: rgba(90, 109, 240, 0.16);
--tag-user-surface: rgba(45, 143, 133, 0.14);
--panel-elevated: rgba(255, 255, 255, 0.66);
--sidebar-bg: rgba(255, 255, 255, 0.24);
--sidebar-border: rgba(255, 255, 255, 0.32);
--message-user-bg: linear-gradient(145deg, #3046c8, #7e3fdc);
--message-user-text: #f8f7ff;
--message-bot-bg: rgba(255, 255, 255, 0.4);
--message-bot-text: #17203d;
--composer-bg: rgba(255, 255, 255, 0.34);
--composer-shadow: 0 -10px 28px rgba(98, 110, 255, 0.08);
--nav-surface: rgba(255, 255, 255, 0.26);
--nav-item-surface: rgba(255, 255, 255, 0.32);
--editorial-surface: linear-gradient(180deg, rgba(255, 255, 255, 0.52), rgba(235, 238, 255, 0.78));
}
body[data-theme="slopilot"] {
--bg: #edf4fb;
--bg-soft: #dfeaf8;
--surface: rgba(250, 252, 255, 0.84);
--surface-strong: rgba(251, 253, 255, 0.96);
--text: #16233b;
--text-soft: #50647f;
--text-muted: #7589a1;
--line: rgba(22, 35, 59, 0.08);
--line-strong: rgba(22, 35, 59, 0.16);
--brand: #0d68ff;
--brand-strong: #4b34d2;
--brand-soft: #d8e7ff;
--success: #118573;
--error: #c24b4b;
--shadow: 0 10px 30px rgba(25, 77, 147, 0.1);
--bg-gradient:
linear-gradient(180deg, #eef5ff 0%, #dfeaf6 100%);
--hero-gradient: linear-gradient(180deg, rgba(246, 251, 255, 0.94), rgba(228, 239, 255, 0.9));
--overview-gradient: linear-gradient(180deg, rgba(246, 251, 255, 0.94), rgba(228, 239, 255, 0.9));
--assistant-message: linear-gradient(145deg, #123460, #1f6fff);
--assistant-message-text: #f6fbff;
--button-text: #f6fbff;
--panel-subtle: rgba(248, 251, 255, 0.7);
--panel-soft: rgba(255, 255, 255, 0.72);
--panel-soft-strong: rgba(255, 255, 255, 0.86);
--chip-surface: rgba(255, 255, 255, 0.84);
--chip-muted: rgba(13, 104, 255, 0.06);
--field-surface: rgba(255, 255, 255, 0.92);
--field-surface-strong: rgba(255, 255, 255, 0.96);
--field-focus-surface: #ffffff;
--field-focus-border: rgba(13, 104, 255, 0.42);
--field-focus-ring: 0 0 0 4px rgba(13, 104, 255, 0.12);
--secondary-surface: rgba(13, 104, 255, 0.1);
--secondary-surface-strong: rgba(13, 104, 255, 0.16);
--secondary-border: rgba(13, 104, 255, 0.16);
--secondary-border-strong: rgba(13, 104, 255, 0.3);
--item-hover-border: rgba(13, 104, 255, 0.22);
--item-active-border: rgba(13, 104, 255, 0.36);
--overlay-surface: linear-gradient(180deg, rgba(233, 243, 255, 0.78), rgba(244, 249, 255, 0.88));
--overlay-card-surface: linear-gradient(155deg, rgba(255, 255, 255, 0.97), rgba(236, 244, 255, 0.95));
--overlay-card-shadow: 0 24px 70px rgba(25, 77, 147, 0.14);
--prompt-chip-surface: rgba(248, 251, 255, 0.76);
--messages-surface: rgba(244, 249, 255, 0.72);
--pill-surface: rgba(13, 104, 255, 0.05);
--pill-border: rgba(13, 104, 255, 0.12);
--tag-surface: rgba(13, 104, 255, 0.07);
--tag-ai-surface: rgba(13, 104, 255, 0.12);
--tag-user-surface: rgba(17, 133, 115, 0.14);
--panel-elevated: rgba(255, 255, 255, 0.98);
--sidebar-bg: rgba(247, 251, 255, 0.88);
--sidebar-border: rgba(13, 104, 255, 0.1);
--message-user-bg: linear-gradient(145deg, #123460, #1f6fff);
--message-user-text: #f6fbff;
--message-bot-bg: #ffffff;
--message-bot-text: #18324d;
--composer-bg: rgba(255, 255, 255, 0.98);
--composer-shadow: 0 -10px 28px rgba(25, 77, 147, 0.06);
--nav-surface: rgba(246, 250, 255, 0.94);
--nav-item-surface: rgba(255, 255, 255, 0.84);
--editorial-surface: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(236, 244, 255, 0.95));
}
body[data-theme="beta-ai"] {
--bg: #f7f6ff;
--bg-soft: #ebe9fb;
--surface: rgba(252, 251, 255, 0.84);
--surface-strong: rgba(253, 252, 255, 0.96);
--text: #231f3f;
--text-soft: #5d5980;
--text-muted: #8681ac;
--line: rgba(35, 31, 63, 0.08);
--line-strong: rgba(35, 31, 63, 0.16);
--brand: #4f46e5;
--brand-strong: #1e1b4b;
--brand-soft: #ddd7ff;
--success: #2a8c7b;
--error: #be557d;
--shadow: 0 10px 30px rgba(61, 54, 122, 0.1);
--bg-gradient:
linear-gradient(180deg, #f8f7ff 0%, #ece9fb 100%);
--hero-gradient: linear-gradient(180deg, rgba(251, 250, 255, 0.94), rgba(237, 233, 254, 0.9));
--overview-gradient: linear-gradient(180deg, rgba(251, 250, 255, 0.94), rgba(237, 233, 254, 0.9));
--assistant-message: linear-gradient(145deg, #2d236f, #5c49f1);
--assistant-message-text: #f8f7ff;
--button-text: #f8f7ff;
--panel-subtle: rgba(248, 245, 255, 0.68);
--panel-soft: rgba(255, 255, 255, 0.72);
--panel-soft-strong: rgba(255, 255, 255, 0.86);
--chip-surface: rgba(255, 255, 255, 0.84);
--chip-muted: rgba(79, 70, 229, 0.06);
--field-surface: rgba(255, 255, 255, 0.92);
--field-surface-strong: rgba(255, 255, 255, 0.96);
--field-focus-surface: #ffffff;
--field-focus-border: rgba(79, 70, 229, 0.36);
--field-focus-ring: 0 0 0 4px rgba(79, 70, 229, 0.12);
--secondary-surface: rgba(79, 70, 229, 0.1);
--secondary-surface-strong: rgba(79, 70, 229, 0.18);
--secondary-border: rgba(79, 70, 229, 0.16);
--secondary-border-strong: rgba(79, 70, 229, 0.28);
--item-hover-border: rgba(79, 70, 229, 0.22);
--item-active-border: rgba(79, 70, 229, 0.36);
--overlay-surface: linear-gradient(180deg, rgba(240, 236, 255, 0.8), rgba(248, 246, 255, 0.9));
--overlay-card-surface: linear-gradient(155deg, rgba(255, 255, 255, 0.97), rgba(241, 237, 255, 0.95));
--overlay-card-shadow: 0 24px 70px rgba(61, 54, 122, 0.14);
--prompt-chip-surface: rgba(250, 248, 255, 0.76);
--messages-surface: rgba(246, 243, 255, 0.72);
--pill-surface: rgba(79, 70, 229, 0.05);
--pill-border: rgba(79, 70, 229, 0.12);
--tag-surface: rgba(79, 70, 229, 0.08);
--tag-ai-surface: rgba(79, 70, 229, 0.13);
--tag-user-surface: rgba(42, 140, 123, 0.14);
--panel-elevated: rgba(255, 255, 255, 0.98);
--sidebar-bg: rgba(248, 245, 255, 0.9);
--sidebar-border: rgba(79, 70, 229, 0.08);
--message-user-bg: linear-gradient(145deg, #2d236f, #5c49f1);
--message-user-text: #f8f7ff;
--message-bot-bg: rgba(255, 255, 255, 0.98);
--message-bot-text: #2e2356;
--composer-bg: rgba(255, 255, 255, 0.98);
--composer-shadow: 0 -10px 28px rgba(61, 54, 122, 0.06);
--nav-surface: rgba(246, 242, 255, 0.92);
--nav-item-surface: rgba(255, 255, 255, 0.82);
--editorial-surface: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(241, 237, 255, 0.95));
}
body[data-theme="confusity"] {
--bg: #f6f7fb;
--bg-soft: #ebedf4;
--surface: rgba(255, 255, 255, 0.86);
--surface-strong: rgba(255, 255, 255, 0.97);
--text: #111827;
--text-soft: #4b5563;
--text-muted: #6b7280;
--line: rgba(17, 24, 39, 0.08);
--line-strong: rgba(17, 24, 39, 0.16);
--brand: #111827;
--brand-strong: #374151;
--brand-soft: #d1d5db;
--success: #0284c7;
--error: #dc2626;
--shadow: 0 10px 30px rgba(17, 24, 39, 0.08);
--bg-gradient:
linear-gradient(180deg, #f7f8fb 0%, #eceff5 100%);
--hero-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(238, 242, 247, 0.92));
--overview-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(238, 242, 247, 0.92));
--assistant-message: #111827;
--assistant-message-text: #f9fafb;
--button-text: #f9fafb;
--panel-subtle: rgba(255, 255, 255, 0.7);
--panel-soft: rgba(248, 250, 252, 0.82);
--panel-soft-strong: rgba(255, 255, 255, 0.9);
--chip-surface: rgba(255, 255, 255, 0.92);
--chip-muted: rgba(17, 24, 39, 0.06);
--field-surface: rgba(255, 255, 255, 0.96);
--field-surface-strong: rgba(255, 255, 255, 0.98);
--field-focus-surface: #ffffff;
--field-focus-border: rgba(2, 132, 199, 0.34);
--field-focus-ring: 0 0 0 4px rgba(2, 132, 199, 0.1);
--secondary-surface: rgba(17, 24, 39, 0.05);
--secondary-surface-strong: rgba(17, 24, 39, 0.1);
--secondary-border: rgba(17, 24, 39, 0.1);
--secondary-border-strong: rgba(17, 24, 39, 0.18);
--item-hover-border: rgba(17, 24, 39, 0.14);
--item-active-border: rgba(2, 132, 199, 0.26);
--overlay-surface: linear-gradient(180deg, rgba(241, 245, 249, 0.82), rgba(248, 250, 252, 0.9));
--overlay-card-surface: linear-gradient(155deg, rgba(255, 255, 255, 0.98), rgba(241, 245, 249, 0.96));
--overlay-card-shadow: 0 24px 70px rgba(17, 24, 39, 0.1);
--prompt-chip-surface: rgba(248, 250, 252, 0.86);
--messages-surface: rgba(255, 255, 255, 0.92);
--pill-surface: rgba(17, 24, 39, 0.04);
--pill-border: rgba(17, 24, 39, 0.08);
--tag-surface: rgba(17, 24, 39, 0.06);
--tag-ai-surface: rgba(17, 24, 39, 0.08);
--tag-user-surface: rgba(2, 132, 199, 0.12);
--panel-elevated: rgba(255, 255, 255, 0.99);
--sidebar-bg: rgba(248, 250, 252, 0.96);
--sidebar-border: rgba(17, 24, 39, 0.08);
--message-user-bg: #111827;
--message-user-text: #f9fafb;
--message-bot-bg: #ffffff;
--message-bot-text: #111827;
--composer-bg: rgba(255, 255, 255, 0.99);
--composer-shadow: 0 -10px 24px rgba(17, 24, 39, 0.04);
--nav-surface: rgba(248, 250, 252, 0.98);
--nav-item-surface: rgba(255, 255, 255, 0.96);
--editorial-surface: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(241, 245, 249, 0.97));
}
* {
box-sizing: border-box;
}
html,
body {
width: 100%;
min-height: 100%;
margin: 0;
}
body {
font-family: "Manrope", "Segoe UI", sans-serif;
color: var(--text);
background: var(--bg-gradient);
padding: 24px;
}
body::before {
content: "";
position: fixed;
inset: 0;
background: var(--bg-overlay);
pointer-events: none;
}
.app-shell {
position: relative;
z-index: 1;
width: min(1440px, 100%);
margin: 0 auto;
}
.card {
background: var(--surface);
border: 1px solid var(--pill-border);
backdrop-filter: blur(10px);
border-radius: var(--radius-xl);
box-shadow: var(--shadow);
}
.auth-card {
display: grid;
grid-template-columns: 1.1fr minmax(340px, 460px);
overflow: hidden;
min-height: calc(100vh - 48px);
max-width: 1120px;
margin: 0 auto;
}
.auth-card-compact {
min-height: min(760px, calc(100vh - 48px));
}
.auth-hero {
padding: 48px;
background: var(--hero-gradient);
border-right: 1px solid var(--pill-border);
display: grid;
align-content: start;
gap: 24px;
}
.theme-switcher {
display: grid;
gap: 6px;
}
.theme-switcher label {
font-size: 0.76rem;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--text-muted);
}
.theme-select-control {
min-width: 170px;
}
.hero-theme-switcher {
justify-self: end;
}
.compact-theme-switcher {
min-width: 170px;
}
.auth-panel {
padding: 40px;
display: grid;
align-content: center;
gap: 18px;
background: var(--panel-soft-strong);
}
.auth-hero-compact {
justify-content: center;
}
.brand {
display: grid;
grid-template-columns: auto 1fr;
gap: 18px;
align-items: center;
}
.logo {
width: 54px;
height: 54px;
border-radius: 14px;
display: grid;
place-items: center;
font-family: "Space Grotesk", sans-serif;
font-size: 1.1rem;
font-weight: 700;
color: #fff8f0;
background: linear-gradient(145deg, var(--brand), var(--brand-strong));
box-shadow: none;
}
.logo-placeholder {
position: relative;
color: transparent;
}
.logo-placeholder::before,
.logo-placeholder::after {
content: "";
position: absolute;
border-radius: 999px;
background: rgba(255, 248, 240, 0.94);
}
.logo-placeholder::before {
width: 10px;
height: 10px;
top: 14px;
left: 14px;
box-shadow: 16px 0 0 rgba(255, 248, 240, 0.94);
}
.logo-placeholder::after {
width: 24px;
height: 6px;
left: 15px;
bottom: 15px;
opacity: 0.9;
}
.eyebrow {
margin: 0;
font-size: 0.73rem;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--text-muted);
}
h1,
h2,
h3,
h4 {
margin: 0;
font-family: "Space Grotesk", sans-serif;
letter-spacing: -0.03em;
}
h1 {
margin-top: 6px;
font-size: clamp(2rem, 2.5vw, 2.8rem);
}
h2 {
font-size: 1.45rem;
}
.subtitle,
.persona-guidance,
.persona-helper,
.composer-hint {
margin: 0;
color: var(--text-soft);
line-height: 1.6;
}
.composer-hint {
font-size: 0.84rem;
line-height: 1.3;
}
.hero-grid {
display: grid;
gap: 14px;
}
.hero-panel {
padding: 20px;
border-radius: var(--radius-lg);
background: var(--panel-subtle);
border: 1px solid var(--pill-border);
}
.hero-panel h2 {
margin: 10px 0 12px;
font-size: clamp(1.3rem, 1.7vw, 1.8rem);
}
.hero-stat,
.summary-card,
.context-pill {
padding: 14px;
border-radius: var(--radius-md);
background: var(--panel-soft);
border: 1px solid var(--pill-border);
}
.hero-stat span,
.summary-card span,
.context-pill span {
display: block;
font-size: 0.78rem;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--text-muted);
margin-bottom: 8px;
}
.hero-stat strong,
.summary-card strong,
.context-pill strong {
font-size: 1.2rem;
font-family: "Space Grotesk", sans-serif;
}
.chat-mode-pill {
font-weight: 700;
}
.auth-toggle,
.persona-form,
.input-shell,
.chat-sidebar,
.messages-panel,
.persona-popover,
.modal-card,
.market-shell {
background: var(--surface-strong);
border: 1px solid var(--pill-border);
}
.auth-toggle {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 8px;
padding: 8px;
border-radius: var(--radius-md);
}
.toggle,
button,
.secondary-action,
.icon-button {
border: none;
border-radius: 14px;
cursor: pointer;
transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
font: inherit;
}
button {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 44px;
padding: 11px 16px;
font-weight: 700;
line-height: 1.2;
color: var(--button-text);
background: linear-gradient(145deg, var(--brand), var(--brand-strong));
box-shadow: none;
}
button:hover:not(:disabled),
.secondary-action:hover,
.icon-button:hover {
transform: none;
}
button:disabled {
opacity: 0.45;
cursor: not-allowed;
transform: none;
box-shadow: none;
}
.toggle {
padding: 12px 14px;
background: transparent;
color: var(--text-soft);
font-weight: 700;
}
.toggle.active {
color: var(--button-text);
background: linear-gradient(145deg, var(--brand), var(--brand-strong));
}
.auth-screen {
display: none;
}
.auth-screen.active {
display: block;
}
.auth-form,
.field {
display: grid;
gap: 8px;
}
.auth-form {
gap: 16px;
}
.field span {
font-size: 0.9rem;
color: var(--text-soft);
}
input,
textarea,
select {
width: 100%;
border-radius: 16px;
border: 1px solid var(--line-strong);
padding: 14px 16px;
background: var(--field-surface);
font: inherit;
color: var(--text);
outline: none;
transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
textarea {
resize: none;
}
input:focus,
textarea:focus,
select:focus {
border-color: var(--field-focus-border);
box-shadow: var(--field-focus-ring);
background: var(--field-focus-surface);
}
.primary-action {
width: 100%;
}
.status {
min-height: 24px;
margin: 0;
padding: 12px 14px;
border-radius: 14px;
background: var(--status-surface);
border: 1px solid var(--status-border);
color: var(--text-soft);
}
.status.error {
color: var(--error);
background: var(--status-error-surface);
border-color: var(--status-error-border);
}
.status.success {
color: var(--success);
background: var(--status-success-surface);
border-color: var(--status-success-border);
}
.inline-status {
min-height: auto;
padding: 10px 12px;
flex: 1 1 260px;
}
.consent-container {
display: flex;
align-items: flex-start;
gap: 10px;
font-size: 0.88rem;
color: var(--text-soft);
}
.consent-container input[type="checkbox"] {
width: 18px;
height: 18px;
margin-top: 2px;
}
.consent-container a,
.msg-content a {
color: var(--brand-strong);
text-decoration: none;
}
.consent-container a:hover,
.msg-content a:hover {
text-decoration: underline;
}
.chat-card {
padding: 16px;
height: calc(100vh - 48px);
min-height: calc(100vh - 48px);
overflow: hidden;
}
.chat-layout {
display: grid;
grid-template-columns: 340px minmax(0, 1fr);
gap: 20px;
height: calc(100vh - 80px);
min-height: calc(100vh - 80px);
overflow: hidden;
}
.chat-sidebar {
border-radius: var(--radius-lg);
padding: 18px;
display: grid;
grid-template-rows: auto 1fr auto;
gap: 16px;
min-height: 0;
overflow: hidden;
}
.sidebar-top {
display: grid;
gap: 14px;
}
.sidebar-header,
.chat-header,
.chat-title-block,
.chat-toolbar,
.chat-header-actions,
.sidebar-header-actions,
.market-header,
.market-header-actions,
.persona-title-row,
.persona-item-actions,
.persona-section-header,
.persona-section-actions,
.modal-header,
.market-preview-actions {
display: flex;
align-items: center;
gap: 10px;
}
.sidebar-header,
.chat-header,
.market-header,
.persona-title-row,
.persona-section-header,
.modal-header {
justify-content: space-between;
}
.compact-field span {
font-size: 0.78rem;
}
.chat-list,
.persona-list {
display: grid;
gap: 10px;
align-content: start;
overflow: auto;
min-height: 0;
padding-right: 4px;
}
.chat-loading {
display: inline-flex;
align-items: center;
gap: 10px;
padding: 10px 12px;
border-radius: 12px;
border: 1px solid var(--pill-border);
background: var(--pill-surface);
color: var(--text-soft);
font-size: 0.9rem;
}
.chat-loading-dot {
width: 10px;
height: 10px;
border-radius: 999px;
background: var(--brand);
animation: pulse 1s ease-in-out infinite;
}
.chat-item,
.persona-item {
display: grid;
gap: 10px;
padding: 16px;
border-radius: var(--radius-md);
border: 1px solid var(--pill-border);
background: var(--chip-surface);
transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.chat-item {
grid-template-columns: minmax(0, 1fr) max-content;
align-items: center;
column-gap: 14px;
cursor: pointer;
}
.chat-item:hover,
.persona-item:hover {
border-color: var(--item-hover-border);
box-shadow: none;
}
.chat-item.active,
.persona-item.active {
border-color: var(--item-active-border);
box-shadow: none;
}
.chat-item span {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-weight: 700;
line-height: 1.35;
}
.chat-item-copy {
min-width: 0;
display: grid;
gap: 4px;
}
.chat-item-meta {
color: var(--text-muted);
font-size: 0.76rem;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.chat-item button,
.icon-button {
padding: 8px 12px;
background: var(--chip-muted);
color: var(--text);
box-shadow: none;
min-height: 40px;
}
.secondary-action {
padding: 11px 16px;
min-height: 44px;
background: var(--secondary-surface);
color: var(--text);
border: 1px solid var(--secondary-border);
text-decoration: none;
box-shadow: none;
}
.secondary-action.active {
background: var(--secondary-surface-strong);
border-color: var(--secondary-border-strong);
}
.action-pair {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 10px;
width: 100%;
}
.action-pair .secondary-action,
.action-pair button {
width: 100%;
min-width: 0;
}
.danger {
background: linear-gradient(145deg, #b34b40, #8f3026);
}
.sidebar-footer button {
width: 100%;
}
.sidebar-footer-stack {
display: grid;
gap: 10px;
}
.tools-details {
border: 1px solid var(--pill-border);
border-radius: 14px;
background: var(--pill-surface);
padding: 8px 10px;
}
.tools-details summary {
cursor: pointer;
font-weight: 700;
color: var(--text);
}
.tools-links {
display: grid;
gap: 8px;
margin-top: 10px;
}
.tools-details .session-chip,
.tools-details button {
margin-top: 10px;
}
.session-chip {
display: grid;
gap: 4px;
padding: 12px 14px;
border-radius: 14px;
border: 1px solid var(--pill-border);
background: var(--pill-surface);
}
.session-chip-label {
font-size: 0.74rem;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--text-muted);
}
.session-chip strong {
font-size: 0.98rem;
line-height: 1.3;
color: var(--text);
}
.sidebar-footer-stack .secondary-action {
width: 100%;
}
.chat-main {
display: grid;
grid-template-rows: auto auto auto auto minmax(0, 1fr) auto auto;
gap: 16px;
min-height: 0;
overflow: hidden;
position: relative;
}
.chat-layout-focus {
grid-template-columns: 340px minmax(0, 1fr);
}
.chat-main-focus {
grid-template-rows: auto minmax(0, 1fr) auto;
min-height: 0;
}
.chat-header-focus {
padding-bottom: 2px;
border-bottom: 1px solid var(--line);
}
.messages-panel-focus {
min-height: 58vh;
}
.chat-activity-overlay {
position: fixed;
inset: 0;
z-index: 60;
display: grid;
place-items: center;
padding: 28px;
background: var(--overlay-surface);
backdrop-filter: blur(10px);
}
.chat-activity-card {
width: min(440px, 100%);
padding: 28px;
border-radius: 26px;
border: 1px solid var(--overlay-card-border);
background: var(--overlay-card-surface);
box-shadow: var(--overlay-card-shadow);
text-align: center;
}
.chat-activity-card h3 {
margin-top: 10px;
font-size: clamp(1.4rem, 2vw, 1.8rem);
}
.chat-activity-card .subtitle {
margin-top: 12px;
}
.chat-activity-mark {
display: inline-flex;
align-items: flex-end;
justify-content: center;
gap: 8px;
min-height: 34px;
margin-bottom: 10px;
}
.chat-activity-mark span {
width: 8px;
border-radius: 999px;
background: linear-gradient(180deg, var(--brand), var(--brand-strong));
animation: loadingWave 1.1s ease-in-out infinite;
}
.chat-activity-mark span:nth-child(1) {
height: 14px;
}
.chat-activity-mark span:nth-child(2) {
height: 28px;
animation-delay: 0.12s;
}
.chat-activity-mark span:nth-child(3) {
height: 18px;
animation-delay: 0.24s;
}
.input-shell-focus {
border-top: 1px solid var(--line);
}
.workspace-overview,
.messages-panel,
.input-shell {
border-radius: var(--radius-lg);
padding: 14px;
}
.workspace-overview {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(300px, 500px);
gap: 14px;
background: var(--overview-gradient);
border: 1px solid var(--line);
}
.workspace-intro {
display: grid;
gap: 8px;
}
.summary-cards {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 12px;
}
.chat-title-block {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
align-items: end;
gap: 14px;
}
.chat-title {
display: grid;
gap: 4px;
}
.chat-participants {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-top: 8px;
}
.chat-context {
position: relative;
margin-top: 8px;
}
.context-chip-button {
display: inline-flex;
align-items: center;
gap: 8px;
min-height: 40px;
padding: 8px 12px;
border-radius: 999px;
background: var(--chip-muted);
color: var(--text);
border: 1px solid var(--line-strong);
}
.context-chip-button span {
font-size: 0.75rem;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--text-muted);
}
.context-chip-button strong {
font-size: 0.9rem;
}
.sidebar-header-actions {
justify-content: flex-end;
flex-wrap: wrap;
}
.chat-toolbar {
flex-wrap: wrap;
justify-content: flex-end;
align-self: end;
}
.chat-actions-menu {
position: relative;
}
.chat-header {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
align-items: end;
gap: 16px;
}
.chat-header-actions {
justify-content: flex-end;
align-items: stretch;
flex-wrap: wrap;
}
.model-menu,
.chat-drawer-section--model,
.persona-menu,
.chat-drawer-section--persona {
position: relative;
}
.model-badge-button {
display: inline-flex;
align-items: center;
gap: 8px;
min-height: 44px;
padding: 10px 14px;
border-radius: 999px;
background: var(--secondary-surface);
color: var(--text);
border: 1px solid var(--secondary-border);
box-shadow: none;
}
.model-badge-label {
font-size: 0.74rem;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--text-muted);
}
.model-badge-button strong {
font-family: "Space Grotesk", sans-serif;
font-size: 0.95rem;
color: var(--text);
}
.model-badge-button[aria-expanded="true"] {
background: var(--secondary-surface-strong);
border-color: var(--secondary-border-strong);
}
.model-popover,
.model-panel {
position: absolute;
top: calc(100% + 10px);
right: 0;
width: min(420px, 88vw);
border-radius: var(--radius-lg);
padding: 16px;
box-shadow: var(--shadow);
display: grid;
gap: 14px;
z-index: 20;
background: var(--surface-strong);
border: 1px solid var(--pill-border);
}
.model-select {
display: grid;
gap: 10px;
min-width: 0;
max-width: none;
align-self: stretch;
}
.model-select-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
}
.model-select label {
font-size: 0.78rem;
text-transform: uppercase;
letter-spacing: 0.12em;
color: var(--text-muted);
}
.model-count {
font-size: 0.72rem;
font-weight: 800;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--brand-strong);
}
.model-select-control {
position: relative;
}
.model-select-control select {
padding-right: 48px;
border-radius: 14px;
appearance: none;
background: var(--field-surface-strong);
border-color: var(--line-strong);
font-weight: 700;
box-shadow: none;
}
.model-select-chevron {
position: absolute;
right: 16px;
top: 50%;
width: 10px;
height: 10px;
border-right: 2px solid var(--text-soft);
border-bottom: 2px solid var(--text-soft);
transform: translateY(-65%) rotate(45deg);
pointer-events: none;
}
.model-help {
display: grid;
gap: 8px;
padding: 14px;
border-radius: 14px;
border: 1px solid var(--pill-border);
background: linear-gradient(180deg, var(--panel-soft), var(--field-surface));
min-height: 92px;
}
.model-help-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
}
.model-help-header strong {
font-family: "Space Grotesk", sans-serif;
font-size: 0.98rem;
color: var(--text);
}
.model-help-badge {
padding: 5px 10px;
border-radius: 999px;
background: var(--secondary-surface);
border: 1px solid var(--secondary-border);
color: var(--brand-strong);
font-size: 0.72rem;
font-weight: 800;
letter-spacing: 0.12em;
text-transform: uppercase;
white-space: nowrap;
}
.model-help-badge[data-badge="coding"] {
background: rgba(38, 101, 214, 0.12);
border-color: rgba(38, 101, 214, 0.18);
color: #214ea7;
}
.model-help-badge[data-badge="fast"] {
background: rgba(15, 138, 103, 0.12);
border-color: rgba(15, 138, 103, 0.18);
color: var(--success);
}
.model-help-badge[data-badge="chatty"] {
background: rgba(168, 85, 247, 0.12);
border-color: rgba(168, 85, 247, 0.2);
color: #7c3aed;
}
.model-help-badge[data-badge="balanced"] {
background: rgba(217, 119, 6, 0.12);
border-color: rgba(217, 119, 6, 0.18);
color: #b45309;
}
.model-help-badge[data-badge="persona"] {
background: rgba(190, 24, 93, 0.12);
border-color: rgba(190, 24, 93, 0.18);
color: #be185d;
}
.model-help-badge[data-badge="waiting"] {
background: var(--chip-muted);
border-color: var(--line-strong);
color: var(--text-soft);
}
.model-help-summary {
margin: 0;
color: var(--text-soft);
font-size: 0.86rem;
line-height: 1.5;
}
.context-rail,
.quick-prompts {
display: flex;
gap: 12px;
flex-wrap: wrap;
}
.context-pill {
min-width: 180px;
}
.quick-prompts {
margin-top: 0;
}
.prompt-chip {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 9px 12px;
border-radius: 999px;
background: var(--prompt-chip-surface);
color: var(--text);
border: 1px solid var(--pill-border);
box-shadow: none;
font-weight: 600;
}
.messages-panel {
position: relative;
overflow: auto;
display: flex;
flex-direction: column;
gap: 12px;
background: var(--messages-surface);
min-height: 0;
}
.messages-empty {
margin: auto 0;
padding: 20px;
border-radius: 16px;
background: var(--surface-strong);
border: 1px dashed var(--line-strong);
display: grid;
gap: 10px;
}
.messages-empty-title {
font-size: 1.2rem;
}
.messages-empty-copy {
margin: 0;
color: var(--text-soft);
line-height: 1.5;
}
.messages-empty-actions {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.messages-empty-actions .primary-action,
.messages-empty-actions .secondary-action {
width: auto;
}
.msg {
max-width: min(78%, 780px);
padding: 14px 16px;
border-radius: 16px;
display: grid;
gap: 8px;
animation: fadeIn 0.24s ease;
}
.msg.user {
align-self: flex-end;
background: linear-gradient(145deg, var(--brand), var(--brand-strong));
color: var(--button-text);
border-bottom-right-radius: 8px;
}
.msg.bot,
.msg.loading {
align-self: flex-start;
background: var(--assistant-message);
color: var(--assistant-message-text);
border-bottom-left-radius: 8px;
}
.msg-header {
font-size: 0.72rem;
text-transform: uppercase;
letter-spacing: 0.14em;
opacity: 0.74;
}
.msg-content {
display: grid;
gap: 10px;
}
.msg-content > * {
margin: 0;
}
.msg-content ul,
.msg-content ol {
margin: 0;
padding-left: 20px;
}
.msg-content pre {
padding: 12px 14px;
border-radius: 14px;
overflow: auto;
background: rgba(8, 10, 10, 0.28);
border: 1px solid rgba(255, 255, 255, 0.08);
}
.msg-content code {
font-family: "JetBrains Mono", Consolas, monospace;
background: rgba(255, 255, 255, 0.08);
padding: 2px 6px;
border-radius: 8px;
}
.msg-content pre code {
background: transparent;
padding: 0;
}
.msg-content blockquote {
margin: 0;
padding-left: 12px;
border-left: 3px solid rgba(255, 255, 255, 0.2);
opacity: 0.86;
}
.msg-actions {
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap;
}
.msg-action-btn {
min-height: 30px;
padding: 4px 10px;
border-radius: 10px;
border: 1px solid rgba(255, 255, 255, 0.26);
background: rgba(255, 255, 255, 0.12);
color: inherit;
font-size: 0.78rem;
font-weight: 700;
cursor: pointer;
}
.msg-action-btn:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.msg-variant-index {
font-size: 0.74rem;
opacity: 0.86;
}
.typing-indicator {
display: flex;
align-items: center;
gap: 6px;
}
.typing-dot {
width: 7px;
height: 7px;
border-radius: 50%;
background: rgba(239, 244, 242, 0.78);
animation: typing 1.2s infinite ease-in-out;
}
.typing-dot:nth-child(2) {
animation-delay: 0.15s;
}
.typing-dot:nth-child(3) {
animation-delay: 0.3s;
}
.loading-shell {
display: flex;
align-items: center;
gap: 14px;
min-width: 220px;
}
.loading-bars {
display: flex;
align-items: flex-end;
gap: 4px;
height: 26px;
}
.loading-bar {
width: 6px;
height: 10px;
border-radius: 999px;
background: currentColor;
opacity: 0.42;
animation: loadingWave 1.1s ease-in-out infinite;
}
.loading-bar:nth-child(2) {
animation-delay: 0.12s;
}
.loading-bar:nth-child(3) {
animation-delay: 0.24s;
}
.loading-bar:nth-child(4) {
animation-delay: 0.36s;
}
.loading-copy {
display: grid;
gap: 2px;
}
.loading-copy strong,
.loading-copy span {
line-height: 1.2;
}
.loading-copy strong {
font-size: 0.9rem;
}
.loading-copy span {
font-size: 0.8rem;
opacity: 0.72;
}
.input-shell {
display: grid;
gap: 8px;
align-self: end;
}
.input-meta {
display: flex;
justify-content: space-between;
align-items: center;
gap: 8px;
flex-wrap: wrap;
}
.input-container {
display: grid;
grid-template-columns: minmax(0, 1fr) 48px;
gap: 10px;
align-items: end;
}
#msgInput {
height: 46px;
min-height: 46px;
max-height: 96px;
padding: 11px 12px;
line-height: 1.35;
}
#send {
width: 48px;
height: 46px;
min-height: 46px;
padding: 0;
border-radius: 16px;
align-self: end;
}
#send::after {
content: ">";
font-size: 1.2rem;
}
#send.loading::after {
content: "";
}
#send.loading {
animation: pulse 1s infinite ease-in-out;
}
.chat-toolbar .icon-button,
.chat-header-actions .secondary-action,
.chat-header-actions .model-select select,
.sidebar-header .secondary-action,
.sidebar-footer-stack button,
.sidebar-footer-stack .secondary-action {
min-height: 44px;
}
.chat-toolbar .icon-button,
.chat-header-actions .secondary-action,
.sidebar-header .secondary-action {
display: inline-flex;
align-items: center;
justify-content: center;
}
.chat-toolbar .icon-button {
min-width: 88px;
}
.chat-header-actions .model-menu,
.chat-header-actions .chat-drawer-section--model,
.chat-header-actions .persona-menu,
.chat-header-actions .chat-drawer-section--persona,
.chat-header-actions .chat-actions-menu {
display: flex;
align-items: stretch;
align-self: stretch;
}
.persona-popover,
.persona-panel {
position: absolute;
top: calc(100% + 10px);
right: 0;
width: min(460px, 88vw);
border-radius: var(--radius-lg);
padding: 16px;
box-shadow: var(--shadow);
display: grid;
gap: 16px;
z-index: 20;
}
.persona-section {
display: grid;
gap: 12px;
}
.character-library-card {
width: min(760px, 95vw);
display: grid;
gap: 18px;
}
.character-library-intro {
display: flex;
align-items: center;
justify-content: space-between;
gap: 14px;
padding: 16px 18px;
border-radius: 16px;
background: var(--pill-surface);
border: 1px solid var(--pill-border);
}
.character-library-list {
max-height: min(56vh, 520px);
}
.roleplay-starter-card {
width: min(620px, 95vw);
display: grid;
gap: 18px;
}
.roleplay-starter-intro {
padding: 16px 18px;
border-radius: 16px;
background: var(--pill-surface);
border: 1px solid var(--pill-border);
}
.roleplay-starter-page {
display: grid;
gap: 14px;
}
.persona-status {
text-align: left;
}
.persona-role-tag {
padding: 5px 9px;
border-radius: 999px;
font-size: 0.72rem;
text-transform: uppercase;
letter-spacing: 0.12em;
background: var(--tag-surface);
}
.persona-role-tag.ai {
color: var(--brand-strong);
background: var(--tag-ai-surface);
}
.persona-role-tag.user {
color: var(--success);
background: var(--tag-user-surface);
}
.persona-item p {
margin: 0;
color: var(--text-soft);
font-size: 0.88rem;
line-height: 1.5;
}
.persona-item-actions,
.persona-section-actions,
.market-header-actions,
.market-preview-user-field {
width: 100%;
}
.market-preview-scenario-field {
width: 100%;
}
.market-preview-actions {
display: grid;
gap: 16px;
align-items: stretch;
}
.market-preview-footer {
display: flex;
justify-content: flex-end;
gap: 10px;
flex-wrap: wrap;
}
.market-preview-footer button,
.market-preview-footer .secondary-action {
flex: 1 1 160px;
min-width: 0;
}
.market-preview-name {
margin-top: 6px;
}
.market-preview-user-field select,
.market-preview-scenario-field textarea {
width: 100%;
}
.persona-item-actions button {
flex: 1 1 0;
min-width: 0;
padding: 10px 12px;
font-size: 0.84rem;
}
.market-favorite-button {
flex: 0 0 44px !important;
width: 44px;
min-width: 44px;
padding: 0;
font-size: 1.15rem;
line-height: 1;
border: 1px solid var(--secondary-border);
background: var(--secondary-surface);
color: var(--text);
}
.market-favorite-button.active {
background: var(--brand-soft);
border-color: var(--secondary-border-strong);
color: var(--brand-strong);
}
.hidden {
display: none !important;
}
.onboarding-card {
width: min(640px, 94vw);
display: grid;
gap: 14px;
}
.onboarding-choices {
display: grid;
gap: 10px;
}
.modal-overlay {
position: fixed;
inset: 0;
display: grid;
place-items: center;
padding: 24px;
background: rgba(12, 16, 18, 0.3);
backdrop-filter: blur(10px);
z-index: 50;
overflow: auto;
}
.modal-card {
width: min(760px, 95vw);
max-height: calc(100vh - 48px);
border-radius: var(--radius-lg);
padding: 20px;
overflow: auto;
}
.persona-form {
display: grid;
gap: 18px;
padding: 0;
border: none;
background: transparent;
}
.persona-modal-card {
display: grid;
gap: 18px;
}
.popup-card {
width: min(520px, 95vw);
display: grid;
gap: 18px;
}
.popup-content {
display: grid;
gap: 14px;
}
.popup-actions {
display: flex;
justify-content: flex-end;
gap: 10px;
flex-wrap: wrap;
}
.popup-actions .secondary-action,
.popup-actions button {
flex: 1 1 140px;
min-width: 0;
}
.persona-modal-heading {
display: grid;
gap: 4px;
}
.persona-form-intro {
padding: 16px 18px;
border-radius: 16px;
background: var(--pill-surface);
border: 1px solid var(--pill-border);
display: grid;
gap: 14px;
}
.persona-form > .status {
margin: 0;
}
.persona-form-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 14px;
}
.field-wide {
grid-column: 1 / -1;
}
.persona-form .field,
.persona-form .field-wide {
padding: 14px;
border-radius: var(--radius-md);
background: var(--status-surface);
border: 1px solid var(--status-border);
}
.persona-form .field textarea {
min-height: 112px;
}
.dialogue-format-card {
display: grid;
gap: 8px;
padding: 14px 16px;
border-radius: 14px;
background: var(--chip-muted);
border: 1px dashed var(--line-strong);
}
.dialogue-format-label {
margin: 0;
font-size: 0.74rem;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--text-muted);
}
.dialogue-format-example {
margin: 0;
white-space: pre-wrap;
font: 600 0.92rem/1.7 "Space Grotesk", "Consolas", monospace;
color: var(--text);
}
.persona-actions {
display: flex;
justify-content: flex-end;
position: sticky;
bottom: 0;
padding-top: 10px;
background: inherit;
}
.persona-actions .primary-action {
width: auto;
min-width: 180px;
}
.market-shell {
width: min(1180px, 100%);
margin: 0 auto;
padding: 20px;
border-radius: var(--radius-xl);
display: grid;
gap: 14px;
}
.market-shell-simple {
width: min(960px, 100%);
}
.market-header-simple {
align-items: flex-start;
}
.market-search {
display: grid;
gap: 8px;
max-width: 520px;
}
.market-search label {
font-size: 0.8rem;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--text-muted);
}
.market-section-actions {
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
align-items: end;
gap: 10px;
}
.market-sort-control {
display: grid;
gap: 6px;
min-width: 180px;
}
.market-sort-control span {
font-size: 0.76rem;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--text-muted);
}
.market-sort-control select {
min-height: 44px;
}
.persona-market-column h3 {
margin-bottom: 6px;
}
.persona-market-columns,
.market-preview-details {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 16px;
}
.market-preview-card {
width: min(720px, 95vw);
display: grid;
gap: 16px;
}
.market-preview-body {
display: grid;
gap: 12px;
}
.market-preview-details h4 {
margin-bottom: 6px;
font-size: 0.82rem;
text-transform: uppercase;
letter-spacing: 0.12em;
color: var(--text-muted);
}
.market-preview-details p {
margin: 0;
color: var(--text);
line-height: 1.5;
white-space: pre-wrap;
}
.market-preview-toggle {
margin-top: 6px;
padding: 0;
border: none;
background: transparent;
color: var(--brand-strong);
font-size: 0.82rem;
font-weight: 700;
text-align: left;
}
.market-preview-toggle:hover {
text-decoration: underline;
}
.settings-shell {
width: min(1180px, 100%);
margin: 0 auto;
padding: 20px;
display: grid;
gap: 16px;
}
.settings-quick-actions {
display: flex;
gap: 12px;
flex-wrap: wrap;
}
.settings-quick-actions .primary-action,
.settings-quick-actions .secondary-action {
min-width: 210px;
}
.settings-shell .market-header-simple {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 16px;
align-items: start;
}
.settings-shell .market-header-actions {
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
gap: 10px;
}
.settings-shell .market-header-actions .secondary-action {
min-width: 150px;
}
.settings-layout {
display: grid;
grid-template-columns: 220px minmax(0, 1fr);
gap: 16px;
align-items: start;
}
.settings-nav {
display: grid;
gap: 10px;
padding: 12px;
border-radius: var(--radius-lg);
background: var(--surface-strong);
border: 1px solid var(--pill-border);
}
.settings-nav-item {
display: flex;
align-items: center;
justify-content: flex-start;
width: 100%;
text-align: left;
padding: 12px 14px;
min-height: 48px;
background: var(--pill-surface);
color: var(--text);
border: 1px solid var(--pill-border);
}
.settings-nav-item.active {
background: linear-gradient(145deg, var(--brand), var(--brand-strong));
color: var(--button-text);
border-color: transparent;
}
.settings-content {
display: grid;
}
.settings-view {
display: none;
gap: 16px;
}
.settings-view.active {
display: grid;
}
.settings-form-stack {
display: grid;
gap: 14px;
}
.settings-panel {
display: grid;
gap: 14px;
padding: 16px;
border-radius: var(--radius-lg);
background: var(--surface-strong);
border: 1px solid var(--pill-border);
}
.settings-panel-compact {
max-width: 560px;
}
.settings-section-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
}
.settings-theme-row {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 14px;
align-items: end;
}
.settings-theme-note {
display: grid;
gap: 4px;
padding: 12px 14px;
min-height: 76px;
border-radius: 14px;
border: 1px solid var(--pill-border);
background: var(--pill-surface);
align-content: center;
}
.settings-theme-note-label {
font-size: 0.74rem;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--text-muted);
}
.persona-empty-state {
display: grid;
justify-items: start;
gap: 10px;
padding: 16px;
border-radius: 14px;
background: var(--pill-surface);
border: 1px dashed var(--line-strong);
}
body[data-theme-mode="light"] {
color-scheme: light;
}
body[data-theme-mode="dark"] {
--bg: #10131a;
--bg-soft: #171c26;
--surface: rgba(24, 28, 38, 0.84);
--surface-strong: rgba(28, 33, 44, 0.94);
--surface-accent: rgba(255, 255, 255, 0.08);
--text: #eef3ff;
--text-soft: #c1cbdf;
--text-muted: #94a1ba;
--line: rgba(255, 255, 255, 0.09);
--line-strong: rgba(255, 255, 255, 0.16);
--shadow: 0 18px 44px rgba(0, 0, 0, 0.28);
--bg-gradient: linear-gradient(180deg, #11141b 0%, #191e28 100%);
--bg-overlay: linear-gradient(rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0.02));
--hero-gradient: linear-gradient(180deg, rgba(20, 24, 33, 0.96), rgba(28, 34, 45, 0.92));
--overview-gradient: linear-gradient(180deg, rgba(20, 24, 33, 0.96), rgba(28, 34, 45, 0.92));
--assistant-message: #111723;
--assistant-message-text: #eef3ff;
--button-text: #f7fbff;
--panel-subtle: rgba(24, 28, 38, 0.74);
--panel-soft: rgba(30, 35, 47, 0.82);
--panel-soft-strong: rgba(34, 40, 54, 0.92);
--chip-surface: rgba(30, 35, 47, 0.82);
--chip-muted: rgba(255, 255, 255, 0.06);
--field-surface: rgba(19, 23, 32, 0.94);
--field-surface-strong: rgba(19, 23, 32, 0.98);
--field-focus-surface: rgba(24, 29, 39, 0.98);
--field-focus-ring: 0 0 0 4px color-mix(in srgb, var(--brand) 20%, transparent);
--status-surface: rgba(24, 28, 38, 0.92);
--status-border: rgba(255, 255, 255, 0.08);
--status-error-surface: rgba(181, 71, 61, 0.18);
--status-error-border: rgba(181, 71, 61, 0.3);
--status-success-surface: rgba(37, 115, 93, 0.18);
--status-success-border: rgba(37, 115, 93, 0.28);
--secondary-surface: color-mix(in srgb, var(--brand) 14%, rgba(21, 25, 34, 0.9));
--secondary-surface-strong: color-mix(in srgb, var(--brand) 24%, rgba(21, 25, 34, 0.94));
--secondary-border: color-mix(in srgb, var(--brand) 38%, rgba(255, 255, 255, 0.12));
--secondary-border-strong: color-mix(in srgb, var(--brand) 52%, rgba(255, 255, 255, 0.16));
--item-hover-border: color-mix(in srgb, var(--brand) 34%, rgba(255, 255, 255, 0.12));
--item-active-border: color-mix(in srgb, var(--brand) 46%, rgba(255, 255, 255, 0.16));
--overlay-surface: linear-gradient(180deg, rgba(10, 13, 19, 0.82), rgba(19, 24, 34, 0.92));
--overlay-card-surface: linear-gradient(155deg, rgba(24, 28, 38, 0.97), rgba(30, 35, 47, 0.95));
--overlay-card-border: rgba(255, 255, 255, 0.12);
--overlay-card-shadow: 0 28px 80px rgba(0, 0, 0, 0.42);
--prompt-chip-surface: rgba(28, 33, 44, 0.88);
--messages-surface: rgba(22, 27, 37, 0.76);
--pill-surface: rgba(28, 33, 44, 0.88);
--pill-border: rgba(255, 255, 255, 0.1);
--tag-surface: rgba(255, 255, 255, 0.06);
--tag-ai-surface: color-mix(in srgb, var(--brand) 16%, rgba(255, 255, 255, 0.04));
--tag-user-surface: color-mix(in srgb, var(--success) 18%, rgba(255, 255, 255, 0.04));
--panel-elevated: rgba(27, 32, 43, 0.98);
--sidebar-bg: rgba(22, 27, 37, 0.88);
--sidebar-border: rgba(255, 255, 255, 0.08);
--message-user-bg: linear-gradient(145deg, var(--brand), var(--brand-strong));
--message-user-text: #f7fbff;
--message-bot-bg: rgba(27, 32, 43, 0.98);
--message-bot-text: #eef3ff;
--composer-bg: rgba(19, 23, 32, 0.98);
--composer-shadow: 0 -16px 36px rgba(0, 0, 0, 0.18);
--nav-surface: rgba(20, 24, 33, 0.9);
--nav-item-surface: rgba(29, 34, 45, 0.9);
--editorial-surface: linear-gradient(180deg, rgba(24, 28, 38, 0.96), rgba(31, 37, 49, 0.94));
background: var(--bg-gradient);
color: var(--text);
color-scheme: dark;
}
body[data-theme-mode="dark"] .settings-nav,
body[data-theme-mode="dark"] .chat-sidebar {
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
body[data-theme-mode="dark"] .msg.bot,
body[data-theme-mode="dark"] .msg.loading {
box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
}
body[data-theme-mode="dark"][data-theme="fakegpt"] {
--bg: #0b0f0d;
--bg-soft: #111715;
--surface: rgba(18, 24, 21, 0.88);
--surface-strong: rgba(18, 24, 21, 0.96);
--text: #e8fff7;
--text-soft: #b7d8ce;
--text-muted: #87aea3;
--line: rgba(36, 255, 180, 0.12);
--line-strong: rgba(36, 255, 180, 0.2);
--shadow: 0 0 0 1px rgba(36, 255, 180, 0.05), 0 0 26px rgba(16, 163, 127, 0.12);
--bg-gradient: linear-gradient(180deg, #0b0f0d 0%, #111715 100%);
--hero-gradient: linear-gradient(180deg, rgba(10, 15, 13, 0.96), rgba(18, 24, 21, 0.92));
--overview-gradient: linear-gradient(180deg, rgba(10, 15, 13, 0.96), rgba(18, 24, 21, 0.92));
--panel-subtle: rgba(10, 15, 13, 0.92);
--panel-soft: rgba(18, 24, 21, 0.9);
--panel-soft-strong: rgba(18, 24, 21, 0.92);
--chip-surface: rgba(10, 15, 13, 0.92);
--chip-muted: rgba(36, 255, 180, 0.08);
--field-surface: rgba(10, 15, 13, 0.96);
--field-surface-strong: rgba(10, 15, 13, 0.96);
--field-focus-surface: rgba(12, 19, 16, 0.98);
--field-focus-border: rgba(36, 255, 180, 0.26);
--field-focus-ring: 0 0 0 4px rgba(16, 163, 127, 0.14);
--status-surface: rgba(18, 24, 21, 0.9);
--status-border: rgba(36, 255, 180, 0.12);
--status-error-surface: rgba(181, 71, 61, 0.16);
--status-error-border: rgba(181, 71, 61, 0.28);
--status-success-surface: rgba(16, 163, 127, 0.14);
--status-success-border: rgba(36, 255, 180, 0.24);
--secondary-surface: rgba(18, 24, 21, 0.96);
--secondary-surface-strong: rgba(16, 163, 127, 0.16);
--secondary-border: rgba(36, 255, 180, 0.16);
--secondary-border-strong: rgba(36, 255, 180, 0.26);
--item-hover-border: rgba(36, 255, 180, 0.22);
--item-active-border: rgba(36, 255, 180, 0.34);
--overlay-surface: linear-gradient(180deg, rgba(9, 14, 12, 0.82), rgba(15, 22, 19, 0.9));
--overlay-card-surface: linear-gradient(155deg, rgba(14, 20, 18, 0.96), rgba(18, 24, 21, 0.94));
--overlay-card-border: rgba(36, 255, 180, 0.16);
--overlay-card-shadow: 0 24px 70px rgba(3, 10, 8, 0.5);
--prompt-chip-surface: rgba(18, 24, 21, 0.9);
--messages-surface: rgba(18, 24, 21, 0.88);
--pill-surface: rgba(18, 24, 21, 0.9);
--pill-border: rgba(36, 255, 180, 0.14);
--tag-surface: rgba(36, 255, 180, 0.08);
--tag-ai-surface: rgba(16, 163, 127, 0.16);
--tag-user-surface: rgba(36, 255, 180, 0.12);
background: radial-gradient(circle at top left, rgba(16, 163, 127, 0.15), transparent 26%), linear-gradient(180deg, #0b0f0d 0%, #111715 100%);
color: #e8fff7;
color-scheme: dark;
}
body[data-theme-mode="dark"][data-theme="fakegpt"] .card,
body[data-theme-mode="dark"][data-theme="fakegpt"] .chat-sidebar,
body[data-theme-mode="dark"][data-theme="fakegpt"] .messages-panel,
body[data-theme-mode="dark"][data-theme="fakegpt"] .input-shell,
body[data-theme-mode="dark"][data-theme="fakegpt"] .market-shell,
body[data-theme-mode="dark"][data-theme="fakegpt"] .settings-panel,
body[data-theme-mode="dark"][data-theme="fakegpt"] .modal-card,
body[data-theme-mode="dark"][data-theme="fakegpt"] .persona-popover {
background: rgba(18, 24, 21, 0.88);
border-color: rgba(36, 255, 180, 0.14);
box-shadow: 0 0 0 1px rgba(36, 255, 180, 0.05), 0 0 26px rgba(16, 163, 127, 0.12);
}
body[data-theme-mode="dark"][data-theme="fakegpt"] .auth-panel,
body[data-theme-mode="dark"][data-theme="fakegpt"] .auth-hero,
body[data-theme-mode="dark"][data-theme="fakegpt"] .workspace-overview,
body[data-theme-mode="dark"][data-theme="fakegpt"] .hero-stat,
body[data-theme-mode="dark"][data-theme="fakegpt"] .summary-card,
body[data-theme-mode="dark"][data-theme="fakegpt"] .context-pill,
body[data-theme-mode="dark"][data-theme="fakegpt"] .prompt-chip,
body[data-theme-mode="dark"][data-theme="fakegpt"] .status,
body[data-theme-mode="dark"][data-theme="fakegpt"] .model-popover,
body[data-theme-mode="dark"][data-theme="fakegpt"] .model-select,
body[data-theme-mode="dark"][data-theme="fakegpt"] .model-help {
background: rgba(18, 24, 21, 0.9);
color: #e8fff7;
border-color: rgba(36, 255, 180, 0.12);
}
body[data-theme-mode="dark"][data-theme="fakegpt"] .chat-item,
body[data-theme-mode="dark"][data-theme="fakegpt"] .persona-item,
body[data-theme-mode="dark"][data-theme="fakegpt"] .hero-panel {
background: rgba(10, 15, 13, 0.92);
border-color: rgba(36, 255, 180, 0.12);
}
body[data-theme-mode="dark"][data-theme="fakegpt"] .msg.user {
border-radius: 24px 24px 8px 24px;
box-shadow: 0 0 24px rgba(16, 163, 127, 0.22);
}
body[data-theme-mode="dark"][data-theme="fakegpt"] .msg.bot,
body[data-theme-mode="dark"][data-theme="fakegpt"] .msg.loading {
background: #141917;
border: 1px solid rgba(36, 255, 180, 0.08);
border-radius: 24px 24px 24px 8px;
box-shadow: 0 0 18px rgba(16, 163, 127, 0.08);
}
body[data-theme="fakegpt"] .typing-dot {
background: #50f2c2;
box-shadow: 0 0 10px rgba(80, 242, 194, 0.55);
}
body[data-theme-mode="dark"][data-theme="fakegpt"] .secondary-action,
body[data-theme-mode="dark"][data-theme="fakegpt"] .icon-button,
body[data-theme-mode="dark"][data-theme="fakegpt"] .chat-item button,
body[data-theme-mode="dark"][data-theme="fakegpt"] .session-chip,
body[data-theme-mode="dark"][data-theme="fakegpt"] .settings-nav,
body[data-theme-mode="dark"][data-theme="fakegpt"] .settings-nav-item:not(.active),
body[data-theme-mode="dark"][data-theme="fakegpt"] .settings-theme-note,
body[data-theme-mode="dark"][data-theme="fakegpt"] .persona-form-intro,
body[data-theme-mode="dark"][data-theme="fakegpt"] .persona-form .field {
background: rgba(18, 24, 21, 0.96);
color: #d7fff3;
border: 1px solid rgba(36, 255, 180, 0.16);
}
body[data-theme-mode="dark"][data-theme="fakegpt"] input,
body[data-theme-mode="dark"][data-theme="fakegpt"] textarea,
body[data-theme-mode="dark"][data-theme="fakegpt"] select,
body[data-theme-mode="dark"][data-theme="fakegpt"] .model-select-control select {
background: rgba(10, 15, 13, 0.96);
color: #e8fff7;
border-color: rgba(36, 255, 180, 0.12);
}
body[data-theme-mode="dark"][data-theme="fakegpt"] .model-count,
body[data-theme-mode="dark"][data-theme="fakegpt"] .model-help-badge[data-badge="waiting"] {
color: #87aea3;
}
body[data-theme-mode="dark"][data-theme="fakegpt"] .model-badge-button {
background: rgba(18, 24, 21, 0.96);
color: #d7fff3;
border-color: rgba(36, 255, 180, 0.16);
}
body[data-theme-mode="dark"][data-theme="fakegpt"] .model-badge-label {
color: #87aea3;
}
body[data-theme-mode="dark"][data-theme="fakegpt"] .model-select-chevron {
border-color: #b7d8ce;
}
body[data-theme-mode="dark"][data-theme="fakegpt"] option {
background: #101513;
color: #e8fff7;
}
body[data-theme="fraud"] {
font-family: Georgia, "Times New Roman", serif;
}
body[data-theme="fraud"] h1,
body[data-theme="fraud"] h2,
body[data-theme="fraud"] h3,
body[data-theme="fraud"] h4,
body[data-theme="fraud"] .logo {
font-family: Georgia, "Times New Roman", serif;
letter-spacing: 0;
}
body[data-theme="fraud"] .app-shell,
body[data-theme="fraud"] .settings-shell,
body[data-theme="fraud"] .market-shell {
width: min(1180px, 100%);
}
body[data-theme="fraud"] .chat-layout-focus {
grid-template-columns: 330px minmax(0, 1fr);
gap: 28px;
}
body[data-theme="fraud"] .chat-sidebar,
body[data-theme="fraud"] .messages-panel,
body[data-theme="fraud"] .input-shell,
body[data-theme="fraud"] .market-shell,
body[data-theme="fraud"] .settings-panel,
body[data-theme="fraud"] .hero-panel {
background: rgba(255, 251, 245, 0.72);
border-color: rgba(84, 62, 43, 0.08);
}
body[data-theme="fraud"] .chat-main-focus,
body[data-theme="fraud"] .auth-hero {
gap: 24px;
}
body[data-theme="fraud"] .msg {
max-width: min(70%, 860px);
border-radius: 10px;
}
body[data-theme="fraud"] .msg.user {
background: linear-gradient(180deg, #d8b194, #c99c7c);
color: #fffaf4;
}
body[data-theme="fraud"] .msg.bot,
body[data-theme="fraud"] .msg.loading {
background: rgba(255, 248, 240, 0.95);
color: #3b3127;
border: 1px solid rgba(84, 62, 43, 0.08);
}
body[data-theme="fraud"] button,
body[data-theme="fraud"] .toggle.active {
background: #b78362;
}
body[data-theme="fraud"] input,
body[data-theme="fraud"] textarea,
body[data-theme="fraud"] select,
body[data-theme="fraud"] .model-popover,
body[data-theme="fraud"] .model-select,
body[data-theme="fraud"] .model-help,
body[data-theme="fraud"] .secondary-action,
body[data-theme="fraud"] .icon-button,
body[data-theme="fraud"] .session-chip,
body[data-theme="fraud"] .settings-nav,
body[data-theme="fraud"] .settings-nav-item:not(.active),
body[data-theme="fraud"] .settings-theme-note,
body[data-theme="fraud"] .persona-form-intro,
body[data-theme="fraud"] .persona-form .field {
background: rgba(255, 249, 242, 0.88);
color: #4b3d31;
border: 1px solid rgba(84, 62, 43, 0.08);
}
body[data-theme="germini"]::before {
display: none;
}
body[data-theme="germini"] {
background:
radial-gradient(circle at top left, rgba(154, 120, 255, 0.28), transparent 24%),
radial-gradient(circle at top right, rgba(84, 170, 255, 0.24), transparent 24%),
linear-gradient(180deg, #eef1ff 0%, #dfe6ff 100%);
}
body[data-theme="germini"] .card,
body[data-theme="germini"] .chat-sidebar,
body[data-theme="germini"] .messages-panel,
body[data-theme="germini"] .input-shell,
body[data-theme="germini"] .market-shell,
body[data-theme="germini"] .settings-panel,
body[data-theme="germini"] .modal-card,
body[data-theme="germini"] .persona-popover,
body[data-theme="germini"] .model-popover,
body[data-theme="germini"] .model-select,
body[data-theme="germini"] .model-help,
body[data-theme="germini"] .hero-panel {
background: rgba(255, 255, 255, 0.32);
backdrop-filter: blur(22px);
border: 1px solid rgba(255, 255, 255, 0.34);
box-shadow: 0 18px 40px rgba(98, 110, 255, 0.16);
}
body[data-theme="germini"] .chat-item,
body[data-theme="germini"] .persona-item {
background: rgba(255, 255, 255, 0.38);
border-color: rgba(255, 255, 255, 0.34);
}
body[data-theme="germini"] .msg.user,
body[data-theme="germini"] .msg.bot {
box-shadow: 0 10px 30px rgba(98, 110, 255, 0.18);
}
body[data-theme="germini"] .logo,
body[data-theme="germini"] button,
body[data-theme="germini"] .toggle.active {
box-shadow: 0 10px 28px rgba(100, 112, 255, 0.24);
}
body[data-theme="germini"] .chat-card,
body[data-theme="germini"] .market-shell,
body[data-theme="germini"] .settings-shell {
animation: gemFloat 8s ease-in-out infinite;
}
body[data-theme="germini"] input,
body[data-theme="germini"] textarea,
body[data-theme="germini"] select,
body[data-theme="germini"] .model-select-control select {
background: rgba(255, 255, 255, 0.4);
border-color: rgba(255, 255, 255, 0.42);
}
body[data-theme="slopilot"] .chat-layout-focus {
grid-template-columns: 330px minmax(0, 1fr);
}
body[data-theme="slopilot"] .chat-sidebar {
background: #f8fbff;
border-color: rgba(13, 104, 255, 0.12);
}
body[data-theme="slopilot"] .messages-panel {
background: #ffffff;
}
body[data-theme="slopilot"] .msg.bot,
body[data-theme="slopilot"] .msg.loading {
background: #edf4ff;
color: #18324d;
border: 1px solid rgba(13, 104, 255, 0.1);
}
body[data-theme="slopilot"] .chat-header-focus {
padding: 12px 14px;
border: 1px solid rgba(13, 104, 255, 0.1);
border-radius: 12px;
background: #f8fbff;
}
body[data-theme="slopilot"] .chat-item {
background: #ffffff;
border-color: rgba(13, 104, 255, 0.1);
border-radius: 12px;
}
body[data-theme="slopilot"] .chat-item.active {
border-color: rgba(13, 104, 255, 0.32);
box-shadow: 0 10px 22px rgba(13, 104, 255, 0.08);
}
body[data-theme="slopilot"] .chat-item button {
background: #edf4ff;
color: #123460;
border: 1px solid rgba(13, 104, 255, 0.12);
}
body[data-theme="slopilot"] .session-chip {
background: #ffffff;
border-color: rgba(13, 104, 255, 0.12);
}
body[data-theme="slopilot"] .settings-nav,
body[data-theme="slopilot"] .settings-nav-item:not(.active),
body[data-theme="slopilot"] .settings-theme-note,
body[data-theme="slopilot"] .persona-form-intro,
body[data-theme="slopilot"] .model-popover,
body[data-theme="slopilot"] .model-select,
body[data-theme="slopilot"] .model-help,
body[data-theme="slopilot"] .persona-form .field {
background: #ffffff;
border-color: rgba(13, 104, 255, 0.12);
}
body[data-theme="beta-ai"] {
background:
radial-gradient(circle at top left, rgba(115, 117, 255, 0.18), transparent 24%),
linear-gradient(180deg, #f7f6ff 0%, #ece9fb 100%);
}
body[data-theme="beta-ai"] .chat-layout-focus {
grid-template-columns: 320px minmax(0, 980px);
justify-content: center;
}
body[data-theme="beta-ai"] .chat-sidebar,
body[data-theme="beta-ai"] .messages-panel,
body[data-theme="beta-ai"] .input-shell,
body[data-theme="beta-ai"] .settings-panel,
body[data-theme="beta-ai"] .model-popover,
body[data-theme="beta-ai"] .model-select,
body[data-theme="beta-ai"] .model-help,
body[data-theme="beta-ai"] .market-shell {
background: linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(243, 238, 255, 0.92));
}
body[data-theme="beta-ai"] .msg {
border-radius: 26px;
}
body[data-theme="beta-ai"] .msg.user {
background: linear-gradient(145deg, #5a67ff, #7d4dff);
border-bottom-right-radius: 10px;
}
body[data-theme="beta-ai"] .msg.bot,
body[data-theme="beta-ai"] .msg.loading {
background: linear-gradient(145deg, #ffffff, #f1edff);
color: #2e2356;
border: 1px solid rgba(90, 103, 255, 0.08);
border-bottom-left-radius: 10px;
}
body[data-theme="confusity"] .chat-layout-focus {
grid-template-columns: 330px minmax(0, 1fr);
}
body[data-theme="confusity"] .messages-panel,
body[data-theme="confusity"] .input-shell,
body[data-theme="confusity"] .chat-sidebar,
body[data-theme="confusity"] .settings-panel,
body[data-theme="confusity"] .model-popover,
body[data-theme="confusity"] .model-select,
body[data-theme="confusity"] .model-help,
body[data-theme="confusity"] .market-shell {
background: #ffffff;
}
body[data-theme="confusity"] .messages-panel {
gap: 10px;
}
body[data-theme="confusity"] .chat-header-focus {
padding-bottom: 12px;
border-bottom: 1px solid rgba(17, 24, 39, 0.1);
}
body[data-theme="confusity"] .chat-item {
background: #ffffff;
border-color: rgba(17, 24, 39, 0.08);
border-radius: 10px;
}
body[data-theme="confusity"] .chat-item.active {
background: #f8fafc;
border-color: rgba(2, 132, 199, 0.26);
}
body[data-theme="confusity"] .chat-item button {
background: #f3f4f6;
color: #374151;
border: 1px solid rgba(17, 24, 39, 0.08);
}
body[data-theme="confusity"] .session-chip {
background: #f8fafc;
border-color: rgba(17, 24, 39, 0.08);
}
body[data-theme="confusity"] .settings-nav,
body[data-theme="confusity"] .settings-nav-item:not(.active),
body[data-theme="confusity"] .settings-theme-note,
body[data-theme="confusity"] .persona-form-intro,
body[data-theme="confusity"] .persona-form .field {
background: #ffffff;
border-color: rgba(17, 24, 39, 0.08);
}
body[data-theme="confusity"] .msg {
max-width: 100%;
border-radius: 8px;
padding: 12px 14px;
}
body[data-theme="confusity"] .msg.user {
background: #f3f4f6;
color: #111827;
border: 1px solid rgba(17, 24, 39, 0.08);
}
body[data-theme="confusity"] .msg.bot,
body[data-theme="confusity"] .msg.loading {
background: #ffffff;
color: #111827;
border: 1px solid rgba(17, 24, 39, 0.12);
box-shadow: none;
}
body[data-theme="confusity"] .msg-header {
color: #0369a1;
opacity: 1;
}
body[data-theme="confusity"] .msg-content {
gap: 8px;
}
body[data-theme="confusity"] .msg-content blockquote {
border-left-color: #0284c7;
color: #334155;
}
body[data-theme="confusity"] .msg-content a {
text-decoration: underline;
}
body[data-theme="fakegpt"] .settings-nav-item.active {
background: linear-gradient(145deg, #10a37f, #0c7c61);
color: #f8fffc;
border: 1px solid rgba(36, 255, 180, 0.26);
box-shadow: 0 0 18px rgba(16, 163, 127, 0.16);
}
body[data-theme="fraud"] .settings-nav-item.active {
background: #b78362;
color: #fff9f4;
border: 1px solid rgba(84, 62, 43, 0.12);
}
body[data-theme="germini"] .settings-nav-item.active {
background: linear-gradient(145deg, #5a6df0, #a14ae8);
color: #f8f7ff;
border: 1px solid rgba(255, 255, 255, 0.28);
box-shadow: 0 10px 24px rgba(100, 112, 255, 0.2);
}
body[data-theme="slopilot"] .settings-nav-item.active {
background: linear-gradient(145deg, #0d68ff, #4b34d2);
color: #f6fbff;
border: 1px solid rgba(13, 104, 255, 0.2);
}
body[data-theme="beta-ai"] .settings-nav-item.active {
background: linear-gradient(145deg, #4f46e5, #7d4dff);
color: #f8f7ff;
border: 1px solid rgba(90, 103, 255, 0.18);
}
body[data-theme="confusity"] .settings-nav-item.active {
background: #111827;
color: #f9fafb;
border: 1px solid rgba(17, 24, 39, 0.16);
}
body[data-theme="germini"] .persona-form-intro,
body[data-theme="germini"] .persona-form .field {
background: rgba(255, 255, 255, 0.26);
border: 1px solid rgba(255, 255, 255, 0.3);
backdrop-filter: blur(18px);
}
body[data-theme="beta-ai"] .persona-form-intro,
body[data-theme="beta-ai"] .persona-form .field {
background: linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(243, 238, 255, 0.92));
border: 1px solid rgba(90, 103, 255, 0.08);
}
body[data-theme-mode="dark"][data-theme="fraud"] {
--bg-gradient: linear-gradient(180deg, #17120f 0%, #241a14 100%);
--text: #f5ece2;
--text-soft: #d6c2ad;
--text-muted: #ad9279;
--line: rgba(245, 220, 197, 0.1);
--line-strong: rgba(245, 220, 197, 0.18);
--panel-elevated: rgba(39, 29, 23, 0.98);
--nav-surface: rgba(34, 25, 20, 0.9);
--nav-item-surface: rgba(48, 36, 29, 0.9);
--field-surface: rgba(31, 23, 18, 0.96);
--message-bot-bg: rgba(43, 32, 25, 0.98);
--message-bot-text: #f5ece2;
--composer-bg: rgba(31, 23, 18, 0.98);
--editorial-surface: linear-gradient(180deg, rgba(39, 29, 23, 0.96), rgba(51, 38, 30, 0.94));
background: var(--bg-gradient);
color: var(--text);
}
body[data-theme-mode="dark"][data-theme="fraud"] .chat-sidebar,
body[data-theme-mode="dark"][data-theme="fraud"] .messages-panel,
body[data-theme-mode="dark"][data-theme="fraud"] .input-shell,
body[data-theme-mode="dark"][data-theme="fraud"] .market-shell,
body[data-theme-mode="dark"][data-theme="fraud"] .settings-panel,
body[data-theme-mode="dark"][data-theme="fraud"] .hero-panel,
body[data-theme-mode="dark"][data-theme="fraud"] .model-popover,
body[data-theme-mode="dark"][data-theme="fraud"] .model-select,
body[data-theme-mode="dark"][data-theme="fraud"] .model-help {
background: var(--panel-elevated);
color: var(--text);
border-color: var(--line);
}
body[data-theme-mode="dark"][data-theme="fraud"] input,
body[data-theme-mode="dark"][data-theme="fraud"] textarea,
body[data-theme-mode="dark"][data-theme="fraud"] select,
body[data-theme-mode="dark"][data-theme="fraud"] .secondary-action,
body[data-theme-mode="dark"][data-theme="fraud"] .icon-button,
body[data-theme-mode="dark"][data-theme="fraud"] .session-chip,
body[data-theme-mode="dark"][data-theme="fraud"] .settings-nav,
body[data-theme-mode="dark"][data-theme="fraud"] .settings-nav-item:not(.active),
body[data-theme-mode="dark"][data-theme="fraud"] .settings-theme-note,
body[data-theme-mode="dark"][data-theme="fraud"] .persona-form-intro,
body[data-theme-mode="dark"][data-theme="fraud"] .persona-form .field {
background: var(--field-surface);
color: var(--text);
border-color: var(--line);
}
body[data-theme-mode="dark"][data-theme="fraud"] .msg.bot,
body[data-theme-mode="dark"][data-theme="fraud"] .msg.loading {
background: var(--message-bot-bg);
color: var(--message-bot-text);
border-color: var(--line);
}
body[data-theme-mode="dark"][data-theme="germini"] {
--panel-elevated: rgba(24, 27, 52, 0.84);
--nav-surface: rgba(21, 24, 47, 0.74);
--nav-item-surface: rgba(35, 39, 72, 0.76);
--field-surface: rgba(21, 24, 47, 0.82);
--message-bot-bg: rgba(29, 33, 61, 0.88);
--message-bot-text: #eef3ff;
--editorial-surface: linear-gradient(180deg, rgba(26, 30, 58, 0.9), rgba(37, 40, 74, 0.86));
background:
radial-gradient(circle at top left, rgba(154, 120, 255, 0.18), transparent 24%),
radial-gradient(circle at top right, rgba(84, 170, 255, 0.16), transparent 24%),
linear-gradient(180deg, #12162a 0%, #1e2440 100%);
}
body[data-theme-mode="dark"][data-theme="germini"] .card,
body[data-theme-mode="dark"][data-theme="germini"] .chat-sidebar,
body[data-theme-mode="dark"][data-theme="germini"] .messages-panel,
body[data-theme-mode="dark"][data-theme="germini"] .input-shell,
body[data-theme-mode="dark"][data-theme="germini"] .market-shell,
body[data-theme-mode="dark"][data-theme="germini"] .settings-panel,
body[data-theme-mode="dark"][data-theme="germini"] .modal-card,
body[data-theme-mode="dark"][data-theme="germini"] .persona-popover,
body[data-theme-mode="dark"][data-theme="germini"] .model-popover,
body[data-theme-mode="dark"][data-theme="germini"] .model-select,
body[data-theme-mode="dark"][data-theme="germini"] .model-help,
body[data-theme-mode="dark"][data-theme="germini"] .hero-panel,
body[data-theme-mode="dark"][data-theme="germini"] .chat-item,
body[data-theme-mode="dark"][data-theme="germini"] .persona-item,
body[data-theme-mode="dark"][data-theme="germini"] .persona-form-intro,
body[data-theme-mode="dark"][data-theme="germini"] .persona-form .field {
background: var(--panel-elevated);
color: var(--text);
border-color: var(--line);
}
body[data-theme-mode="dark"][data-theme="germini"] input,
body[data-theme-mode="dark"][data-theme="germini"] textarea,
body[data-theme-mode="dark"][data-theme="germini"] select,
body[data-theme-mode="dark"][data-theme="germini"] .model-select-control select {
background: var(--field-surface);
color: var(--text);
border-color: var(--line);
}
body[data-theme-mode="dark"][data-theme="slopilot"] {
--panel-elevated: rgba(18, 28, 48, 0.98);
--nav-surface: rgba(15, 25, 44, 0.92);
--nav-item-surface: rgba(24, 39, 66, 0.9);
--field-surface: rgba(13, 22, 39, 0.96);
--message-bot-bg: rgba(18, 30, 52, 0.98);
--message-bot-text: #eef6ff;
--composer-bg: rgba(13, 22, 39, 0.98);
}
body[data-theme-mode="dark"][data-theme="slopilot"] .chat-sidebar,
body[data-theme-mode="dark"][data-theme="slopilot"] .messages-panel,
body[data-theme-mode="dark"][data-theme="slopilot"] .chat-header-focus,
body[data-theme-mode="dark"][data-theme="slopilot"] .chat-item,
body[data-theme-mode="dark"][data-theme="slopilot"] .session-chip,
body[data-theme-mode="dark"][data-theme="slopilot"] .settings-nav,
body[data-theme-mode="dark"][data-theme="slopilot"] .settings-nav-item:not(.active),
body[data-theme-mode="dark"][data-theme="slopilot"] .settings-theme-note,
body[data-theme-mode="dark"][data-theme="slopilot"] .persona-form-intro,
body[data-theme-mode="dark"][data-theme="slopilot"] .model-popover,
body[data-theme-mode="dark"][data-theme="slopilot"] .model-select,
body[data-theme-mode="dark"][data-theme="slopilot"] .model-help,
body[data-theme-mode="dark"][data-theme="slopilot"] .persona-form .field {
background: var(--panel-elevated);
color: var(--text);
border-color: var(--line);
}
body[data-theme-mode="dark"][data-theme="slopilot"] .msg.bot,
body[data-theme-mode="dark"][data-theme="slopilot"] .msg.loading,
body[data-theme-mode="dark"][data-theme="slopilot"] .chat-item button {
background: var(--message-bot-bg);
color: var(--message-bot-text);
border-color: var(--line);
}
body[data-theme-mode="dark"][data-theme="beta-ai"] {
--panel-elevated: rgba(28, 25, 54, 0.98);
--field-surface: rgba(22, 19, 45, 0.96);
--message-bot-bg: linear-gradient(145deg, rgba(31, 27, 61, 0.98), rgba(43, 36, 78, 0.96));
--message-bot-text: #f2efff;
--editorial-surface: linear-gradient(180deg, rgba(31, 27, 61, 0.96), rgba(43, 36, 78, 0.94));
background:
radial-gradient(circle at top left, rgba(115, 117, 255, 0.14), transparent 24%),
linear-gradient(180deg, #151329 0%, #221d3e 100%);
}
body[data-theme-mode="dark"][data-theme="beta-ai"] .chat-sidebar,
body[data-theme-mode="dark"][data-theme="beta-ai"] .messages-panel,
body[data-theme-mode="dark"][data-theme="beta-ai"] .input-shell,
body[data-theme-mode="dark"][data-theme="beta-ai"] .settings-panel,
body[data-theme-mode="dark"][data-theme="beta-ai"] .model-popover,
body[data-theme-mode="dark"][data-theme="beta-ai"] .model-select,
body[data-theme-mode="dark"][data-theme="beta-ai"] .model-help,
body[data-theme-mode="dark"][data-theme="beta-ai"] .market-shell,
body[data-theme-mode="dark"][data-theme="beta-ai"] .persona-form-intro,
body[data-theme-mode="dark"][data-theme="beta-ai"] .persona-form .field {
background: var(--panel-elevated);
color: var(--text);
border-color: var(--line);
}
body[data-theme-mode="dark"][data-theme="beta-ai"] .msg.bot,
body[data-theme-mode="dark"][data-theme="beta-ai"] .msg.loading {
background: var(--message-bot-bg);
color: var(--message-bot-text);
border-color: var(--line);
}
body[data-theme-mode="dark"][data-theme="confusity"] {
--panel-elevated: rgba(24, 28, 38, 0.98);
--nav-surface: rgba(20, 24, 33, 0.9);
--nav-item-surface: rgba(31, 36, 48, 0.94);
--field-surface: rgba(18, 22, 31, 0.96);
--message-user-bg: rgba(31, 36, 48, 0.94);
--message-user-text: #eef3ff;
--message-bot-bg: rgba(24, 28, 38, 0.98);
--message-bot-text: #eef3ff;
}
body[data-theme-mode="dark"][data-theme="confusity"] .messages-panel,
body[data-theme-mode="dark"][data-theme="confusity"] .input-shell,
body[data-theme-mode="dark"][data-theme="confusity"] .chat-sidebar,
body[data-theme-mode="dark"][data-theme="confusity"] .settings-panel,
body[data-theme-mode="dark"][data-theme="confusity"] .model-popover,
body[data-theme-mode="dark"][data-theme="confusity"] .model-select,
body[data-theme-mode="dark"][data-theme="confusity"] .model-help,
body[data-theme-mode="dark"][data-theme="confusity"] .market-shell,
body[data-theme-mode="dark"][data-theme="confusity"] .chat-item,
body[data-theme-mode="dark"][data-theme="confusity"] .session-chip,
body[data-theme-mode="dark"][data-theme="confusity"] .settings-nav,
body[data-theme-mode="dark"][data-theme="confusity"] .settings-nav-item:not(.active),
body[data-theme-mode="dark"][data-theme="confusity"] .settings-theme-note,
body[data-theme-mode="dark"][data-theme="confusity"] .persona-form-intro,
body[data-theme-mode="dark"][data-theme="confusity"] .persona-form .field {
background: var(--panel-elevated);
color: var(--text);
border-color: var(--line);
}
body[data-theme-mode="dark"][data-theme="confusity"] .chat-header-focus,
body[data-theme-mode="dark"][data-theme="confusity"] .msg.user,
body[data-theme-mode="dark"][data-theme="confusity"] .msg.bot,
body[data-theme-mode="dark"][data-theme="confusity"] .msg.loading,
body[data-theme-mode="dark"][data-theme="confusity"] .chat-item button {
background: var(--message-bot-bg);
color: var(--message-bot-text);
border-color: var(--line);
}
body[data-theme-mode="dark"][data-theme="confusity"] .msg-header,
body[data-theme-mode="dark"][data-theme="confusity"] .msg-content blockquote {
color: var(--text-soft);
}
@keyframes gemFloat {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(-4px);
}
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(8px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes typing {
0%, 80%, 100% {
transform: scale(0.8);
opacity: 0.45;
}
40% {
transform: scale(1);
opacity: 1;
}
}
@keyframes pulse {
0%, 100% {
transform: scale(1);
}
50% {
transform: scale(0.94);
}
}
@keyframes loadingWave {
0%, 100% {
height: 10px;
opacity: 0.32;
}
50% {
height: 24px;
opacity: 1;
}
}
@media (max-width: 1180px) {
.auth-card,
.chat-layout,
.workspace-overview,
.persona-market-columns,
.settings-layout {
grid-template-columns: 1fr;
}
.auth-card {
min-height: auto;
}
.chat-card,
.chat-layout {
min-height: auto;
}
.summary-cards {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.settings-theme-row {
grid-template-columns: 1fr;
}
.model-select {
width: 100%;
min-width: 0;
max-width: none;
}
}
@media (max-width: 820px) {
body {
padding: 14px;
}
.auth-hero,
.auth-panel,
.chat-card,
.market-shell,
.settings-shell {
padding: 20px;
}
.hero-stats,
.summary-cards,
.market-preview-details {
grid-template-columns: 1fr;
}
.chat-main {
grid-template-rows: auto auto auto auto minmax(300px, 1fr) auto auto;
}
.chat-main-focus {
grid-template-rows: auto minmax(300px, 1fr) auto;
}
.input-container {
grid-template-columns: 1fr;
}
#send {
width: 100%;
height: 52px;
}
.msg {
max-width: 100%;
}
.persona-popover,
.persona-panel {
right: auto;
left: 0;
width: min(92vw, 560px);
}
.hero-theme-switcher {
justify-self: stretch;
}
.persona-form-grid {
grid-template-columns: 1fr;
}
.settings-shell .market-header-simple {
grid-template-columns: 1fr;
}
.settings-shell .market-header-actions {
justify-content: stretch;
}
.settings-shell .market-header-actions .secondary-action {
width: 100%;
}
.chat-header-actions {
display: grid;
grid-template-columns: 1fr;
}
.messages-empty-actions {
display: grid;
grid-template-columns: 1fr;
}
.messages-empty-actions .primary-action,
.messages-empty-actions .secondary-action {
width: 100%;
}
}
@media (max-width: 560px) {
.brand {
grid-template-columns: 1fr;
}
.chat-header-actions,
.input-meta,
.sidebar-header,
.market-header,
.chat-title-block {
align-items: stretch;
}
.chat-header,
.chat-title-block {
display: flex;
flex-direction: column;
}
.chat-header-actions,
.market-header-actions,
.persona-item-actions,
.persona-section-actions,
.chat-toolbar {
display: grid;
grid-template-columns: 1fr;
}
.chat-toolbar .icon-button,
.chat-header-actions .secondary-action,
.chat-header-actions .model-badge-button,
.chat-header-actions .model-select select {
width: 100%;
min-width: 0;
}
.action-pair {
grid-template-columns: 1fr;
}
.model-popover,
.model-panel {
left: 0;
right: auto;
width: min(92vw, 420px);
}
.model-help-header {
align-items: flex-start;
flex-direction: column;
}
.context-pill {
min-width: 0;
width: 100%;
}
}
/* Keep modern component geometry above older per-theme component overrides. */
body[data-theme] .chat-layout,
body[data-theme] .chat-layout-focus {
grid-template-columns: clamp(276px, 21vw, 336px) minmax(0, 1fr);
gap: 0;
}
body[data-theme] .chat-sidebar {
border-radius: 0;
border: 0;
border-right: 1px solid var(--ui-border);
box-shadow: none;
padding: var(--ui-space-5);
}
body[data-theme] .messages-panel,
body[data-theme] .messages-panel-focus {
padding: clamp(18px, 3vw, 42px) clamp(14px, 4vw, 56px) 24px;
background: transparent;
border: 0;
border-radius: 0;
box-shadow: none;
}
body[data-theme] .input-shell,
body[data-theme] .input-shell-focus {
padding: 16px clamp(14px, 4vw, 56px) clamp(16px, 2vw, 24px);
border: 0;
border-radius: 0;
box-shadow: none;
}
body[data-theme] .msg {
width: fit-content;
max-width: min(860px, 100%);
padding: 0;
border-radius: 0;
}
body[data-theme] .msg.user {
max-width: min(720px, 88%);
padding: 14px 17px;
border-radius: 22px 22px 6px 22px;
}
body[data-theme] .msg.bot,
body[data-theme] .msg.loading {
width: min(920px, 100%);
padding: 18px 20px;
border-radius: var(--ui-radius-lg);
background: color-mix(in srgb, var(--message-bot-bg) 84%, transparent);
color: var(--message-bot-text);
border: 1px solid var(--ui-border);
}
@media (max-width: 820px) {
body[data-theme] .chat-layout,
body[data-theme] .chat-layout-focus {
grid-template-columns: 1fr;
}
body[data-theme] .chat-sidebar {
border-radius: 0 var(--ui-radius-xl) var(--ui-radius-xl) 0;
padding: 20px;
}
body[data-theme] .messages-panel,
body[data-theme] .messages-panel-focus {
padding: 18px 12px 16px;
}
body[data-theme] .input-shell,
body[data-theme] .input-shell-focus {
padding: 10px 10px calc(10px + env(safe-area-inset-bottom, 0px));
}
body[data-theme] .msg.bot,
body[data-theme] .msg.loading,
body[data-theme] .msg.user {
max-width: 100%;
}
}
.workspace-topbar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 20px 22px 0;
}
.workspace-brand {
align-items: center;
}
.workspace-topbar-actions {
display: flex;
align-items: center;
justify-content: flex-end;
flex-wrap: wrap;
gap: 10px;
}
.session-inline {
color: var(--text-soft);
white-space: nowrap;
}
.chat-card {
padding-bottom: 22px;
}
.chat-layout-focus {
grid-template-columns: 280px minmax(0, 1fr);
gap: 28px;
padding: 18px 22px 0;
}
.chat-sidebar {
padding: 0;
background: transparent;
border: 0;
box-shadow: none;
gap: 14px;
}
.sidebar-top {
gap: 12px;
}
.sidebar-header {
align-items: flex-start;
gap: 12px;
}
.sidebar-header h2 {
font-size: 1.2rem;
}
.sidebar-header-actions.action-pair {
width: auto;
grid-template-columns: repeat(2, auto);
}
.sidebar-header-actions.action-pair .secondary-action {
min-width: 112px;
}
.sidebar-footer {
display: none;
}
.chat-list {
gap: 8px;
}
.chat-item {
padding: 12px 14px;
border-radius: 14px;
}
.chat-main-focus {
gap: 20px;
}
.chat-header-focus {
display: grid;
gap: 14px;
padding: 0 0 12px;
border-bottom: 1px solid var(--line);
}
.chat-title {
display: grid;
gap: 10px;
}
.chat-participants-inline {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.chat-participants-inline .context-pill {
width: auto;
}
.chat-header-actions {
justify-content: flex-start;
gap: 10px;
}
.chat-header-actions .model-menu,
.chat-header-actions .chat-drawer-section--model,
.chat-header-actions .persona-menu,
.chat-header-actions .chat-drawer-section--persona,
.chat-header-actions .chat-actions-menu {
display: block;
align-self: auto;
}
.inline-status {
min-height: 0;
margin: -4px 0 0;
}
.inline-status.hidden {
display: none;
}
.messages-panel-focus {
min-height: 60vh;
padding: 24px;
}
.messages-empty {
max-width: 720px;
padding: 24px;
}
.input-shell-focus {
padding: 18px;
}
.input-meta {
justify-content: flex-start;
}
.market-header .subtitle,
.settings-shell .subtitle {
max-width: 54ch;
}
.market-search {
max-width: 640px;
padding: 14px 16px;
}
.settings-nav {
padding: 8px;
}
.settings-nav-item {
min-height: 44px;
}
@media (max-width: 1180px) {
.workspace-topbar,
.chat-layout-focus {
padding-left: 18px;
padding-right: 18px;
}
.chat-layout-focus {
grid-template-columns: 1fr;
gap: 20px;
}
}
@media (max-width: 820px) {
.workspace-topbar {
flex-direction: column;
align-items: stretch;
padding: 16px 16px 0;
}
.workspace-topbar-actions {
justify-content: flex-start;
}
.chat-layout-focus {
padding: 16px 16px 0;
}
.sidebar-header {
flex-direction: column;
}
.sidebar-header-actions.action-pair {
width: 100%;
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.chat-header-actions {
display: flex;
flex-wrap: wrap;
}
.messages-panel-focus,
.input-shell-focus {
padding: 18px;
}
}
@media (max-width: 560px) {
.workspace-topbar-actions {
display: grid;
grid-template-columns: 1fr;
}
.chat-layout-focus {
padding: 14px 14px 0;
}
.sidebar-header-actions.action-pair {
grid-template-columns: 1fr;
}
.messages-panel-focus,
.input-shell-focus,
.messages-empty {
padding: 16px;
}
}
.chat-card {
padding: 20px;
height: calc(100vh - 48px);
min-height: calc(100vh - 48px);
overflow: hidden;
background: linear-gradient(180deg, var(--surface-strong), var(--panel-soft));
}
.chat-layout,
.chat-layout-focus {
height: 100%;
min-height: 0;
grid-template-columns: 296px minmax(0, 1fr);
gap: 24px;
}
.chat-sidebar {
display: grid;
grid-template-rows: auto minmax(0, 1fr);
min-height: 0;
padding: 18px;
gap: 16px;
background: var(--sidebar-bg);
border: 1px solid var(--sidebar-border);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3);
}
.chat-main,
.chat-main-focus {
display: grid;
grid-template-rows: auto minmax(0, 1fr) auto;
min-height: 0;
gap: 16px;
}
.chat-header-focus {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 18px;
padding: 2px 4px 12px;
border-bottom: 1px solid var(--line);
}
.chat-title {
display: grid;
gap: 10px;
}
.chat-title-block {
min-width: 0;
}
.chat-participants-inline {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.chat-participants-inline .context-pill {
width: auto;
min-width: 0;
background: var(--nav-item-surface);
}
.chat-header-actions {
display: flex;
align-items: center;
justify-content: flex-end;
gap: 10px;
flex-wrap: wrap;
}
.chat-header-actions .model-menu,
.chat-header-actions .chat-drawer-section--model,
.chat-header-actions .persona-menu,
.chat-header-actions .chat-drawer-section--persona,
.chat-header-actions .chat-actions-menu {
display: block;
}
.messages-panel,
.messages-panel-focus {
min-height: 0;
padding: 22px;
background: var(--panel-elevated);
border: 1px solid var(--line);
border-radius: 24px;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45);
}
.messages-empty {
background: var(--editorial-surface);
border: 1px solid var(--pill-border);
border-radius: 22px;
}
.msg {
max-width: min(90%, 840px);
}
.msg.user {
background: var(--message-user-bg);
color: var(--message-user-text);
box-shadow: 0 14px 32px rgba(0, 0, 0, 0.08);
}
.msg.bot,
.msg.loading {
background: var(--message-bot-bg);
color: var(--message-bot-text);
border: 1px solid var(--line);
box-shadow: 0 10px 26px rgba(0, 0, 0, 0.04);
}
.input-shell,
.input-shell-focus {
padding: 10px 14px 12px;
position: sticky;
bottom: 0;
background: var(--composer-bg);
border: 1px solid var(--line);
border-radius: 22px;
box-shadow: var(--composer-shadow);
backdrop-filter: blur(10px);
}
#msgInput {
min-height: 42px;
}
.chat-list {
gap: 10px;
}
.chat-item {
grid-template-columns: minmax(0, 1fr);
align-items: start;
padding: 13px 14px;
background: var(--nav-item-surface);
border: 1px solid transparent;
}
.chat-item.active {
background: var(--secondary-surface);
border-color: var(--item-active-border);
box-shadow: inset 0 0 0 1px var(--item-active-border), 0 10px 24px rgba(0, 0, 0, 0.04);
}
.chat-item button {
justify-self: start;
opacity: 0.72;
}
.chat-item:hover,
.chat-item:focus-within {
border-color: var(--item-hover-border);
}
.chat-item:hover button,
.chat-item:focus-within button {
opacity: 1;
}
.sidebar-header h2 {
font-size: 1.2rem;
}
.sidebar-header-actions.action-pair {
width: auto;
grid-template-columns: repeat(2, auto);
}
.sidebar-header-actions.action-pair .secondary-action {
min-width: 112px;
}
.model-badge-button,
.chat-header-actions .secondary-action,
.sidebar-header .secondary-action,
.market-header-actions .secondary-action {
background: var(--nav-item-surface);
border: 1px solid var(--secondary-border);
}
.persona-popover,
.persona-panel,
.model-popover,
.model-panel {
background: var(--panel-elevated);
border: 1px solid var(--line);
border-radius: 20px;
box-shadow: 0 20px 48px rgba(0, 0, 0, 0.12);
padding: 18px;
gap: 18px;
}
.model-popover,
.model-panel {
width: min(360px, 88vw);
}
.persona-popover,
.persona-panel {
width: min(420px, 88vw);
}
.chat-actions-menu .persona-popover,
.chat-actions-menu .persona-panel {
width: min(520px, 92vw);
}
.dropdown-header {
display: grid;
gap: 6px;
}
.dropdown-subtitle {
margin: 0;
color: var(--text-soft);
line-height: 1.5;
}
.dropdown-section {
display: grid;
gap: 10px;
}
.dropdown-section + .dropdown-section {
padding-top: 14px;
border-top: 1px solid var(--line);
}
.dropdown-section-label {
margin: 0;
font-size: 0.76rem;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--text-muted);
}
.dropdown-action-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 10px;
}
.dropdown-action-grid > .secondary-action,
.dropdown-action-grid > button {
width: 100%;
justify-content: center;
}
.dropdown-action-grid > button:disabled {
opacity: 0.45;
cursor: not-allowed;
}
.persona-section-header {
align-items: start;
}
.persona-section-actions {
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
}
.model-select-header,
.model-help-header {
align-items: start;
}
.model-help {
min-height: 0;
}
.model-help-summary {
line-height: 1.5;
}
.market-shell {
background: var(--editorial-surface);
border: 1px solid var(--pill-border);
box-shadow: 0 22px 60px rgba(0, 0, 0, 0.06);
}
.market-search {
max-width: 680px;
padding: 16px 18px;
border-radius: 18px;
background: var(--panel-elevated);
border: 1px solid var(--line);
}
.settings-shell {
background: linear-gradient(180deg, var(--surface-strong), var(--panel-soft));
}
.settings-layout {
gap: 20px;
}
.settings-nav {
padding: 10px;
background: var(--nav-surface);
border: 1px solid var(--sidebar-border);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}
.settings-nav-item {
min-height: 46px;
border-radius: 16px;
background: var(--nav-item-surface);
border: 1px solid transparent;
}
.settings-nav-item:not(.active):hover,
.settings-nav-item:not(.active):focus-visible {
border-color: var(--item-hover-border);
background: var(--surface-strong);
}
.settings-panel {
gap: 16px;
padding: 20px;
background: var(--panel-elevated);
border: 1px solid var(--line);
box-shadow: 0 14px 34px rgba(0, 0, 0, 0.04);
}
.settings-panel-compact {
max-width: 640px;
}
.settings-theme-row {
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px;
}
@media (max-width: 1180px) {
.chat-card {
height: auto;
min-height: calc(100vh - 48px);
}
.chat-layout,
.chat-layout-focus {
grid-template-columns: 1fr;
gap: 18px;
}
}
@media (max-width: 820px) {
.chat-card {
min-height: calc(100vh - 28px);
padding: 16px;
}
.chat-sidebar {
padding: 16px;
}
.chat-header-focus {
flex-direction: column;
}
.chat-header-actions {
justify-content: flex-start;
}
.sidebar-header {
flex-direction: column;
}
.sidebar-header-actions.action-pair {
width: 100%;
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.messages-panel,
.messages-panel-focus {
padding: 18px;
border-radius: 20px;
}
.input-shell,
.input-shell-focus {
padding: 14px;
border-radius: 18px;
}
.persona-popover,
.persona-panel,
.model-popover,
.model-panel {
position: fixed;
left: 14px;
right: 14px;
top: auto;
bottom: 14px;
width: auto;
max-height: min(72vh, 680px);
overflow: auto;
border-radius: 22px 22px 16px 16px;
}
}
@media (max-width: 560px) {
.chat-card {
padding: 14px;
}
.sidebar-header-actions.action-pair {
grid-template-columns: 1fr;
}
.messages-panel,
.messages-panel-focus,
.input-shell,
.input-shell-focus {
padding-left: 14px;
padding-right: 14px;
}
.chat-header-actions,
.market-header-actions,
.settings-shell .market-header-actions {
display: grid;
grid-template-columns: 1fr;
width: 100%;
}
.chat-header-actions > *,
.market-header-actions > * {
width: 100%;
}
.chat-header-actions .secondary-action,
.chat-header-actions .model-badge-button,
.chat-header-actions .persona-menu,
.chat-header-actions .chat-drawer-section--persona,
.chat-header-actions .chat-actions-menu,
.chat-header-actions .model-menu,
.chat-header-actions .chat-drawer-section--model {
width: 100%;
}
.input-shell,
.input-shell-focus {
padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px));
}
.market-search,
.settings-panel,
.messages-panel,
.messages-panel-focus {
border-radius: 18px;
}
.dropdown-action-grid {
grid-template-columns: 1fr;
}
}
/* Modern AI workspace refactor layer */
:root {
--ui-bg: var(--bg-gradient);
--ui-surface: var(--surface-strong);
--ui-surface-raised: var(--panel-elevated);
--ui-surface-soft: var(--panel-soft);
--ui-border: var(--line);
--ui-border-strong: var(--line-strong);
--ui-text: var(--text);
--ui-text-secondary: var(--text-soft);
--ui-text-muted: var(--text-muted);
--ui-accent: var(--brand);
--ui-accent-strong: var(--brand-strong);
--ui-danger: var(--error);
--ui-radius-xs: 10px;
--ui-radius-sm: 14px;
--ui-radius-md: 18px;
--ui-radius-lg: 24px;
--ui-radius-xl: 32px;
--ui-shadow-sm: 0 8px 22px rgba(0, 0, 0, 0.05);
--ui-shadow-md: 0 20px 54px rgba(0, 0, 0, 0.1);
--ui-shadow-lg: 0 32px 90px rgba(0, 0, 0, 0.16);
--ui-space-1: 6px;
--ui-space-2: 10px;
--ui-space-3: 14px;
--ui-space-4: 18px;
--ui-space-5: 24px;
--ui-space-6: 32px;
}
.visually-hidden {
position: absolute !important;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
html {
background: var(--bg);
}
body {
min-height: 100vh;
padding: clamp(10px, 2vw, 24px);
background: var(--ui-bg);
color: var(--ui-text);
text-rendering: optimizeLegibility;
}
button,
.secondary-action,
.icon-button,
input,
textarea,
select,
.chat-item {
-webkit-tap-highlight-color: transparent;
}
button:focus-visible,
.secondary-action:focus-visible,
.icon-button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.chat-item:focus-visible,
summary:focus-visible {
outline: 2px solid var(--ui-accent);
outline-offset: 3px;
}
.app-shell {
width: min(1720px, 100%);
}
.card {
border-color: var(--ui-border);
box-shadow: var(--ui-shadow-sm);
}
.chat-card {
height: calc(100vh - clamp(20px, 4vw, 48px));
min-height: 720px;
padding: 0;
overflow: hidden;
background: color-mix(in srgb, var(--ui-surface) 80%, transparent);
border-radius: var(--ui-radius-xl);
}
.chat-layout,
.chat-layout-focus {
grid-template-columns: clamp(276px, 21vw, 336px) minmax(0, 1fr);
gap: 0;
height: 100%;
min-height: 0;
}
.chat-sidebar {
border-radius: 0;
border: 0;
border-right: 1px solid var(--ui-border);
background:
linear-gradient(180deg, color-mix(in srgb, var(--nav-surface) 92%, transparent), color-mix(in srgb, var(--sidebar-bg) 92%, transparent)),
var(--nav-surface);
box-shadow: none;
padding: var(--ui-space-5);
gap: var(--ui-space-5);
}
.sidebar-workspace-card {
padding: 0 0 var(--ui-space-4);
background: transparent;
border: 0;
border-bottom: 1px solid var(--ui-border);
border-radius: 0;
}
.sidebar-workspace-card h2,
.chat-title h2,
.market-header h1,
.settings-section-header h2 {
letter-spacing: -0.035em;
}
.sidebar-account-name {
display: inline-flex;
width: fit-content;
max-width: 100%;
padding: 6px 10px;
border-radius: 999px;
background: var(--pill-surface);
border: 1px solid var(--pill-border);
color: var(--ui-text-secondary);
}
.sidebar-workspace-actions .primary-action {
min-height: 48px;
border-radius: 999px;
box-shadow: 0 10px 22px color-mix(in srgb, var(--ui-accent) 18%, transparent);
}
.compact-field {
gap: 7px;
}
.compact-field input {
min-height: 46px;
border-radius: 999px;
padding-left: 42px;
background:
linear-gradient(90deg, transparent 0 34px, color-mix(in srgb, var(--ui-border) 90%, transparent) 34px 35px, transparent 35px),
var(--field-surface);
}
.compact-field::after {
content: "/";
position: relative;
width: 24px;
height: 24px;
margin: -45px 0 21px 12px;
display: grid;
place-items: center;
color: var(--ui-text-muted);
border-radius: 999px;
background: var(--chip-muted);
pointer-events: none;
}
.chat-list-grouped {
gap: var(--ui-space-4);
padding: 2px 4px 10px 0;
}
.chat-list-section {
display: grid;
gap: 8px;
}
.chat-list-section-header {
padding: 0 8px;
font-size: 0.72rem;
font-weight: 800;
letter-spacing: 0.13em;
text-transform: uppercase;
color: var(--ui-text-muted);
}
.chat-list-section-body {
display: grid;
gap: 7px;
}
.chat-item {
position: relative;
grid-template-columns: minmax(0, 1fr) auto;
gap: var(--ui-space-2);
padding: 12px 12px 12px 14px;
border-radius: var(--ui-radius-md);
border: 1px solid transparent;
background: transparent;
color: var(--ui-text);
cursor: pointer;
}
.chat-item:hover,
.chat-item:focus-visible {
background: var(--nav-item-surface);
border-color: var(--ui-border);
}
.chat-item.active,
.chat-item[aria-current="page"] {
background: var(--secondary-surface);
border-color: var(--item-active-border);
box-shadow: inset 3px 0 0 var(--ui-accent);
}
.chat-item-copy {
gap: 3px;
}
.chat-item span {
font-weight: 760;
}
.chat-item-meta {
font-size: 0.72rem;
letter-spacing: 0.04em;
text-transform: none;
}
.chat-item-delete {
width: 34px;
min-width: 34px;
min-height: 34px;
padding: 0;
border-radius: 999px;
background: var(--chip-muted);
color: var(--ui-text-muted);
border: 1px solid transparent;
opacity: 0;
}
.chat-item:hover .chat-item-delete,
.chat-item:focus-within .chat-item-delete,
.chat-item-delete:focus-visible {
opacity: 1;
}
.chat-item-delete:hover,
.chat-item-delete:focus-visible {
color: var(--ui-danger);
border-color: color-mix(in srgb, var(--ui-danger) 28%, transparent);
background: color-mix(in srgb, var(--ui-danger) 10%, var(--chip-muted));
}
.sidebar-footer {
padding-top: var(--ui-space-3);
border-top: 1px solid var(--ui-border);
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.sidebar-footer .secondary-action {
min-height: 44px;
border-radius: 999px;
}
.chat-main,
.chat-main-focus {
position: relative;
gap: 0;
background:
radial-gradient(circle at 80% 0%, color-mix(in srgb, var(--ui-accent) 9%, transparent), transparent 32%),
linear-gradient(180deg, color-mix(in srgb, var(--ui-surface-raised) 70%, transparent), color-mix(in srgb, var(--ui-surface-soft) 34%, transparent));
}
.chat-header,
.chat-header-focus {
min-height: 74px;
padding: 18px clamp(18px, 3vw, 34px);
align-items: center;
background: color-mix(in srgb, var(--composer-bg) 82%, transparent);
backdrop-filter: blur(14px);
border-bottom: 1px solid var(--ui-border);
z-index: 6;
}
.sidebar-toggle {
display: none;
flex: 0 0 auto;
border-radius: 999px;
background: var(--nav-item-surface);
}
.chat-title-block {
display: block;
}
.chat-title h2 {
font-size: clamp(1.15rem, 1.8vw, 1.65rem);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.chat-header-actions .secondary-action,
.overflow-trigger {
min-height: 42px;
border-radius: 999px;
background: var(--nav-item-surface);
border-color: var(--ui-border);
}
.messages-panel,
.messages-panel-focus {
display: flex;
flex-direction: column;
gap: var(--ui-space-4);
padding: clamp(18px, 3vw, 42px) clamp(14px, 4vw, 56px) 24px;
overflow: auto;
background: transparent;
border: 0;
border-radius: 0;
box-shadow: none;
scroll-behavior: smooth;
}
.messages-empty {
width: min(780px, 100%);
margin: auto;
padding: clamp(22px, 4vw, 42px);
border-radius: var(--ui-radius-xl);
background:
radial-gradient(circle at top left, color-mix(in srgb, var(--ui-accent) 12%, transparent), transparent 34%),
var(--editorial-surface);
border: 1px solid var(--ui-border);
box-shadow: var(--ui-shadow-sm);
}
.messages-empty-title {
font-size: clamp(1.4rem, 3vw, 2.2rem);
letter-spacing: -0.04em;
}
.messages-empty-copy {
max-width: 58ch;
font-size: 1rem;
}
.messages-empty-actions {
margin-top: var(--ui-space-3);
}
.msg {
width: fit-content;
max-width: min(860px, 100%);
padding: 0;
border-radius: 0;
background: transparent;
color: var(--ui-text);
box-shadow: none;
outline-offset: 6px;
}
.msg.bot,
.msg.loading {
width: min(920px, 100%);
align-self: center;
padding: 18px 20px;
border-radius: var(--ui-radius-lg);
background: color-mix(in srgb, var(--message-bot-bg) 84%, transparent);
color: var(--message-bot-text);
border: 1px solid var(--ui-border);
box-shadow: var(--ui-shadow-sm);
}
.msg.user {
align-self: center;
max-width: min(720px, 88%);
margin-left: auto;
padding: 14px 17px;
border-radius: 22px 22px 6px 22px;
background: var(--message-user-bg);
color: var(--message-user-text);
box-shadow: 0 12px 30px color-mix(in srgb, var(--ui-accent) 16%, transparent);
}
.msg-header {
margin-bottom: 2px;
font-size: 0.7rem;
font-weight: 850;
letter-spacing: 0.12em;
color: color-mix(in srgb, currentColor 76%, transparent);
}
.msg-content {
gap: 12px;
font-size: 0.98rem;
line-height: 1.72;
}
.msg.user .msg-content {
line-height: 1.55;
}
.msg-content p,
.msg-content li {
max-width: 78ch;
}
.msg-content pre {
background: color-mix(in srgb, #0b1020 88%, var(--ui-accent) 12%);
border-color: rgba(255, 255, 255, 0.1);
}
.msg-content code {
background: color-mix(in srgb, currentColor 8%, transparent);
}
.msg-content blockquote {
border-left-color: color-mix(in srgb, var(--ui-accent) 45%, transparent);
}
.msg-actions {
margin-top: 8px;
opacity: 0;
transform: translateY(2px);
transition: opacity 150ms ease, transform 150ms ease;
}
.msg:hover .msg-actions,
.msg:focus-within .msg-actions,
.msg:focus .msg-actions {
opacity: 1;
transform: translateY(0);
}
.msg-action-btn {
min-height: 30px;
padding: 5px 10px;
border-radius: 999px;
background: color-mix(in srgb, currentColor 7%, transparent);
color: currentColor;
border: 1px solid color-mix(in srgb, currentColor 16%, transparent);
font-size: 0.75rem;
}
.msg-action-btn:hover,
.msg-action-btn:focus-visible {
background: color-mix(in srgb, var(--ui-accent) 16%, transparent);
border-color: color-mix(in srgb, var(--ui-accent) 38%, transparent);
}
.input-shell,
.input-shell-focus {
position: sticky;
bottom: 0;
padding: 16px clamp(14px, 4vw, 56px) clamp(16px, 2vw, 24px);
margin: 0;
background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--composer-bg) 96%, transparent) 28%);
border: 0;
border-radius: 0;
box-shadow: none;
backdrop-filter: blur(18px);
}
.input-meta,
.input-container {
width: min(920px, 100%);
max-width: none;
}
.input-meta {
margin: 0 auto 6px;
}
.composer-hint {
margin: 0;
color: var(--ui-text-muted);
font-size: 0.78rem;
}
.input-container {
margin: 0 auto;
display: grid;
grid-template-columns: minmax(0, 1fr) 46px;
align-items: end;
gap: 8px;
padding: 8px;
border-radius: 28px;
background: var(--composer-bg);
border: 1px solid var(--ui-border-strong);
box-shadow: var(--composer-shadow);
}
#msgInput {
min-height: 46px;
max-height: 160px;
padding: 12px 14px;
border: 0;
border-radius: 22px;
background: transparent;
box-shadow: none;
line-height: 1.5;
}
#msgInput:focus {
box-shadow: none;
}
#send {
width: 46px;
height: 46px;
min-height: 46px;
border-radius: 18px;
box-shadow: none;
}
#send::after {
content: ">";
font: 900 1rem/1 "Space Grotesk", sans-serif;
}
.chat-drawer {
background: color-mix(in srgb, #0b1020 28%, transparent);
backdrop-filter: blur(14px);
}
.chat-drawer-panel,
.modal-card {
background: var(--ui-surface-raised);
border-color: var(--ui-border);
box-shadow: var(--ui-shadow-lg);
}
.chat-drawer-section {
padding-top: 16px;
}
.chat-drawer-row {
padding: 12px 0;
}
.chat-drawer-action {
min-height: 46px;
border-radius: var(--ui-radius-md);
background: var(--nav-item-surface);
}
.chat-drawer-danger:not([open]) {
opacity: 0.78;
}
.chat-drawer-action-danger {
color: var(--ui-danger);
background: color-mix(in srgb, var(--ui-danger) 8%, var(--ui-surface-soft));
}
.settings-shell,
.market-shell {
width: min(1320px, 100%);
padding: clamp(18px, 3vw, 34px);
border-radius: var(--ui-radius-xl);
background:
radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--ui-accent) 9%, transparent), transparent 34%),
var(--editorial-surface);
border-color: var(--ui-border);
box-shadow: var(--ui-shadow-md);
}
.market-shell-simple {
width: min(1380px, 100%);
}
.market-header,
.market-header-simple {
padding-bottom: var(--ui-space-4);
border-bottom: 1px solid var(--ui-border);
}
.market-header h1 {
font-size: clamp(1.8rem, 4vw, 3.1rem);
}
.market-header-actions,
.market-section-actions {
gap: var(--ui-space-2);
}
.market-header-actions .secondary-action,
.market-section-actions .secondary-action {
border-radius: 999px;
}
.market-search {
width: min(760px, 100%);
max-width: none;
padding: 0;
background: transparent;
border: 0;
}
.market-search input {
min-height: 52px;
border-radius: 999px;
background: var(--field-surface-strong);
}
.settings-layout,
.market-settings-layout {
grid-template-columns: minmax(180px, 230px) minmax(0, 1fr);
gap: var(--ui-space-5);
}
.settings-nav {
position: sticky;
top: var(--ui-space-4);
align-self: start;
padding: 8px;
border-radius: var(--ui-radius-lg);
background: color-mix(in srgb, var(--nav-surface) 88%, transparent);
border-color: var(--ui-border);
}
.settings-nav-item {
min-height: 46px;
border-radius: var(--ui-radius-md);
background: transparent;
border-color: transparent;
}
.settings-nav-item.active,
.settings-nav-item[aria-selected="true"] {
background: var(--message-user-bg);
color: var(--message-user-text);
box-shadow: 0 10px 24px color-mix(in srgb, var(--ui-accent) 16%, transparent);
}
.settings-panel {
padding: clamp(18px, 2vw, 26px);
border-radius: var(--ui-radius-lg);
background: var(--ui-surface-raised);
border-color: var(--ui-border);
box-shadow: var(--ui-shadow-sm);
}
.settings-form-stack {
grid-template-columns: repeat(2, minmax(0, 1fr));
align-items: end;
}
.settings-form-stack .field:first-child,
.settings-form-stack button {
grid-column: 1 / -1;
}
.settings-form-stack button {
width: fit-content;
min-width: 180px;
justify-self: end;
border-radius: 999px;
}
.settings-theme-row {
grid-template-columns: repeat(3, minmax(190px, 1fr));
}
.field span,
.market-sort-control span,
.market-search label {
font-weight: 780;
}
input,
textarea,
select {
border-color: var(--ui-border-strong);
}
.persona-list {
gap: var(--ui-space-3);
}
#marketPersonaList,
#marketUserPersonaList {
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.persona-item {
position: relative;
padding: 18px;
border-radius: var(--ui-radius-lg);
background: var(--ui-surface-raised);
border-color: var(--ui-border);
box-shadow: none;
}
.persona-item:hover,
.persona-item:focus-within {
transform: translateY(-1px);
box-shadow: var(--ui-shadow-sm);
}
.persona-title-row {
align-items: flex-start;
}
.persona-title-row h4 {
font-size: 1.05rem;
line-height: 1.25;
}
.persona-item-actions {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-top: 4px;
}
.persona-item-actions button {
flex: 0 1 auto;
min-height: 36px;
padding: 8px 11px;
border-radius: 999px;
background: var(--secondary-surface);
border: 1px solid var(--secondary-border);
color: var(--ui-text);
font-size: 0.78rem;
}
.market-favorite-button {
flex-basis: 38px !important;
width: 38px;
min-width: 38px;
min-height: 38px;
}
.market-preview-card {
width: min(860px, 96vw);
padding: clamp(20px, 3vw, 30px);
border-radius: var(--ui-radius-xl);
}
.market-preview-body {
gap: var(--ui-space-4);
}
.market-preview-details {
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--ui-space-4);
}
.market-preview-details > div {
padding: 16px;
border-radius: var(--ui-radius-md);
background: var(--status-surface);
border: 1px solid var(--status-border);
}
.market-preview-details p {
max-height: 220px;
overflow: auto;
line-height: 1.65;
}
.market-preview-toggle {
min-height: 0;
color: var(--ui-accent-strong);
}
.modal-overlay {
background: color-mix(in srgb, #0b1020 34%, transparent);
}
.persona-modal-card,
.roleplay-starter-card,
.popup-card,
.onboarding-card {
border-radius: var(--ui-radius-xl);
}
.persona-form-grid {
gap: var(--ui-space-4);
}
.persona-form .field,
.persona-form .field-wide,
.persona-form-intro,
.roleplay-starter-intro {
border-radius: var(--ui-radius-md);
background: var(--status-surface);
border-color: var(--status-border);
}
.persona-actions {
background: linear-gradient(180deg, transparent, var(--ui-surface-raised) 30%);
}
@media (hover: none) {
.msg-actions,
.chat-item-delete {
opacity: 1;
transform: none;
}
}
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
scroll-behavior: auto !important;
transition-duration: 0.01ms !important;
}
}
@media (max-width: 1100px) {
.settings-layout,
.market-settings-layout {
grid-template-columns: 1fr;
}
.settings-nav {
position: static;
display: flex;
overflow-x: auto;
}
.settings-nav-item {
white-space: nowrap;
}
}
@media (max-width: 820px) {
body {
padding: 0;
}
.chat-card {
height: 100vh;
min-height: 100vh;
border-radius: 0;
border: 0;
}
.chat-layout,
.chat-layout-focus {
grid-template-columns: 1fr;
}
.sidebar-toggle {
display: inline-flex;
}
.chat-sidebar {
inset: 0 auto 0 0;
width: min(380px, 92vw);
padding: 20px;
border-radius: 0 var(--ui-radius-xl) var(--ui-radius-xl) 0;
border-right: 1px solid var(--ui-border);
transform: translateX(-105%);
z-index: 45;
}
body.sidebar-open .chat-layout::before,
body.sidebar-open .chat-layout-focus::before {
content: "";
position: fixed;
inset: 0;
z-index: 44;
background: color-mix(in srgb, #0b1020 34%, transparent);
backdrop-filter: blur(8px);
}
.chat-header,
.chat-header-focus {
grid-template-columns: auto minmax(0, 1fr) auto;
padding: 14px;
}
.chat-title h2 {
font-size: 1.08rem;
}
.overflow-trigger-label {
display: none;
}
.messages-panel,
.messages-panel-focus {
padding: 18px 12px 16px;
}
.msg.bot,
.msg.loading,
.msg.user {
max-width: 100%;
}
.input-shell,
.input-shell-focus {
padding: 10px 10px calc(10px + env(safe-area-inset-bottom, 0px));
}
.settings-shell,
.market-shell {
min-height: 100vh;
border-radius: 0;
border: 0;
padding: 18px;
}
.settings-form-stack,
.settings-theme-row,
.market-preview-details,
.persona-form-grid {
grid-template-columns: 1fr;
}
.field-wide {
grid-column: auto;
}
.market-header,
.settings-shell .market-header-simple {
grid-template-columns: 1fr;
}
}
@media (max-width: 560px) {
.chat-header-actions {
width: auto;
}
.chat-header-actions .chat-actions-menu {
width: auto;
}
.chat-header-actions .secondary-action,
.chat-header-actions .chat-actions-menu {
min-width: 0;
}
.input-container {
border-radius: 24px;
}
#send {
width: 42px;
height: 42px;
min-height: 42px;
}
.chat-drawer {
padding: 8px;
}
.chat-drawer-panel {
padding: 18px;
}
.market-header-actions,
.market-section-actions,
.settings-shell .market-header-actions {
display: grid;
grid-template-columns: 1fr;
width: 100%;
}
.market-header-actions > *,
.market-section-actions > * {
width: 100%;
}
}
/* Normalized chat layout overrides */
.chat-card {
padding: 18px;
height: calc(100vh - 36px);
min-height: calc(100vh - 36px);
overflow: hidden;
}
.chat-layout,
.chat-layout-focus {
display: grid;
grid-template-columns: 300px minmax(0, 1fr);
gap: 20px;
height: 100%;
min-height: 0;
padding: 0;
}
.chat-sidebar {
display: grid;
grid-template-rows: auto minmax(0, 1fr) auto;
min-height: 0;
padding: 18px;
gap: 16px;
background: var(--nav-surface);
border: 1px solid var(--sidebar-border);
border-radius: 24px;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.32);
}
.sidebar-top,
.sidebar-middle,
.sidebar-footer {
display: grid;
gap: 14px;
}
.sidebar-middle {
min-height: 0;
align-content: start;
overflow: hidden;
}
.sidebar-workspace-card {
display: grid;
gap: 14px;
padding: 16px;
background: var(--editorial-surface);
border: 1px solid var(--pill-border);
border-radius: 20px;
}
.sidebar-account-name {
margin: 6px 0 0;
color: var(--text-soft);
font-size: 0.92rem;
}
.sidebar-workspace-actions,
.sidebar-footer {
grid-template-columns: 1fr;
}
.sidebar-footer .secondary-action,
.sidebar-workspace-actions .primary-action {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
min-height: 52px;
justify-content: center;
}
.sidebar-footer .secondary-action {
background: var(--nav-item-surface);
border: 1px solid var(--secondary-border);
color: var(--text);
font-weight: 600;
}
.chat-list-grouped,
.chat-list-section,
.chat-list-section-body {
display: grid;
gap: 10px;
}
.chat-list-grouped {
min-height: 0;
overflow: auto;
padding-right: 4px;
align-content: start;
}
.chat-list-section-header {
font-size: 0.74rem;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--text-muted);
padding: 0 4px;
}
.chat-item {
grid-template-columns: minmax(0, 1fr) auto;
align-items: center;
border-radius: 16px;
}
.chat-main,
.chat-main-focus {
display: grid;
grid-template-rows: auto minmax(0, 1fr) auto;
min-height: 0;
gap: 12px;
}
.chat-header,
.chat-header-focus {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 16px;
padding: 4px 2px 8px;
border-bottom: 1px solid var(--line);
}
.chat-title-block,
.chat-title {
min-width: 0;
}
.chat-participants-inline {
display: flex;
gap: 8px;
flex-wrap: wrap;
}
.chat-header-actions {
display: flex;
align-items: center;
gap: 10px;
justify-content: flex-end;
flex-shrink: 0;
}
.overflow-trigger {
min-width: 0;
display: inline-flex;
align-items: center;
gap: 10px;
padding-inline: 12px 14px;
}
.overflow-trigger-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 24px;
min-width: 24px;
font-family: "Space Grotesk", sans-serif;
font-size: 1rem;
letter-spacing: 0.12em;
}
.overflow-trigger-label {
font-weight: 600;
}
.messages-panel,
.messages-panel-focus {
min-height: 0;
padding: 10px 4px 18px;
background: transparent;
border: 0;
border-radius: 0;
box-shadow: none;
overflow: auto;
}
.messages-empty {
max-width: 760px;
margin: 0 auto;
}
.msg {
max-width: min(94%, 920px);
}
.msg.bot,
.msg.loading {
box-shadow: 0 6px 18px rgba(0, 0, 0, 0.03);
}
.input-shell,
.input-shell-focus {
position: sticky;
bottom: 0;
align-self: end;
padding: 10px 14px 12px;
margin-top: -2px;
background: linear-gradient(180deg, rgba(255, 255, 255, 0), var(--composer-bg) 18%);
border: 1px solid var(--line);
border-radius: 30px;
box-shadow: none;
backdrop-filter: blur(12px);
}
.input-container {
width: 100%;
max-width: 980px;
margin: 0 auto;
}
.input-meta {
width: 100%;
max-width: 980px;
margin: 0 auto 4px;
}
.messages-panel-focus + .input-shell-focus {
min-height: fit-content;
}
#msgInput {
width: 100%;
min-width: 0;
height: 46px;
min-height: 46px;
}
.chat-drawer {
position: fixed;
inset: 0 0 0 auto;
width: min(560px, 100vw);
padding: 10px;
background: rgba(16, 24, 40, 0.12);
backdrop-filter: blur(12px);
z-index: 50;
border-top-left-radius: 30px;
border-bottom-left-radius: 30px;
overflow: hidden;
}
.chat-drawer.hidden {
display: none;
border-radius: 30px;
}
.chat-drawer-panel {
height: 100%;
margin-left: auto;
display: grid;
grid-template-rows: auto minmax(0, 1fr);
gap: 18px;
padding: 22px;
background: var(--panel-elevated);
border: 1px solid var(--line);
border-radius: 30px;
overflow: hidden;
box-shadow: 0 32px 88px rgba(0, 0, 0, 0.14);
}
.chat-drawer-header,
.chat-drawer-body,
.chat-drawer-section,
.chat-drawer-summary,
.chat-drawer-pills {
display: grid;
gap: 12px;
}
.chat-drawer-header {
grid-template-columns: minmax(0, 1fr) auto;
align-items: start;
}
.chat-drawer-body {
min-height: 0;
overflow: auto;
overflow-x: hidden;
padding-inline: 2px 8px;
gap: 10px;
scrollbar-gutter: stable both-edges;
}
.chat-drawer-section {
padding: 14px 0 0;
background: transparent;
border: 0;
border-top: 1px solid var(--line);
border-radius: 0;
box-shadow: none;
}
.chat-drawer-section:last-child {
border-bottom: 0;
}
.chat-drawer .dropdown-header {
gap: 8px;
}
.chat-drawer .dropdown-subtitle {
max-width: 34ch;
}
.chat-drawer-pills .context-pill {
width: fit-content;
max-width: 100%;
}
.chat-drawer-summary {
gap: 10px;
padding-bottom: 8px;
}
.chat-drawer-disclosure {
padding-top: 12px;
}
.chat-drawer-disclosure[open] {
gap: 14px;
}
.chat-drawer-disclosure > summary,
.chat-drawer-more > summary,
.chat-drawer-danger > summary {
list-style: none;
}
.chat-drawer-disclosure > summary::-webkit-details-marker,
.chat-drawer-more > summary::-webkit-details-marker,
.chat-drawer-danger > summary::-webkit-details-marker {
display: none;
}
.chat-drawer-row {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 16px;
align-items: center;
cursor: pointer;
}
.chat-drawer-row-label,
.chat-drawer-row-meta {
display: grid;
gap: 4px;
}
.chat-drawer-row-label strong,
.chat-drawer-row-meta strong {
font-size: 0.98rem;
line-height: 1.2;
}
.chat-drawer-row-meta {
justify-items: end;
text-align: right;
}
.chat-drawer-row-hint {
font-size: 0.75rem;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--text-muted);
}
.chat-drawer-disclosure[open] .chat-drawer-row-hint,
.chat-drawer-more[open] .chat-drawer-row-hint,
.chat-drawer-danger[open] .chat-drawer-row-hint {
color: var(--brand);
}
.chat-drawer-row--compact {
align-items: baseline;
}
.chat-drawer-disclosure-panel {
margin-top: 12px;
}
.chat-drawer-action-list {
display: grid;
gap: 10px;
}
.chat-drawer-action {
width: 100%;
justify-content: space-between;
text-align: left;
padding-inline: 16px;
border-radius: 16px;
background: var(--panel-soft);
border-color: var(--line);
}
.chat-drawer-action-danger {
color: var(--error);
border-color: rgba(181, 71, 61, 0.18);
background: rgba(181, 71, 61, 0.06);
}
.chat-drawer-danger {
border-top-color: rgba(181, 71, 61, 0.16);
}
.chat-drawer .model-menu,
.chat-drawer .chat-drawer-section--model,
.chat-drawer .persona-menu,
.chat-drawer .chat-drawer-section--persona {
display: grid !important;
gap: 14px;
}
.chat-drawer .model-popover,
.chat-drawer .model-panel,
.chat-drawer .persona-popover,
.chat-drawer .persona-panel {
position: static;
width: auto;
max-height: none;
display: grid;
gap: 12px;
padding: 0;
background: transparent;
border: 0;
border-radius: 0;
box-shadow: none;
}
.chat-drawer .model-help,
.chat-drawer .persona-list,
.chat-drawer .persona-status {
background: var(--field-surface);
border: 1px solid var(--line);
border-radius: 16px;
}
.chat-drawer .model-help {
min-height: 0;
padding: 16px;
}
.chat-drawer .persona-status {
padding: 14px 16px;
}
.chat-drawer .persona-list {
padding: 8px;
}
.chat-drawer .persona-item {
border-radius: 14px;
}
.chat-drawer .model-select {
gap: 12px;
}
.chat-drawer .model-select-control select {
min-height: 54px;
border-radius: 16px;
}
.chat-drawer .persona-section-header {
padding-inline: 2px;
}
.model-inline-badge {
display: inline-flex;
align-items: center;
gap: 8px;
width: fit-content;
padding: 8px 12px;
background: var(--nav-item-surface);
border: 1px solid var(--secondary-border);
border-radius: 999px;
align-self: start;
}
.side-panel-card {
width: min(540px, calc(100vw - 32px));
max-width: min(540px, calc(100vw - 32px));
height: calc(100vh - 32px);
max-height: calc(100vh - 32px);
margin: 16px 16px 16px auto;
overflow: auto;
border-radius: 28px;
}
.side-panel-overlay {
justify-items: end;
align-items: stretch;
}
body.chat-drawer-open,
body.sidebar-open {
overflow: hidden;
}
@media (max-width: 1180px) {
.chat-layout,
.chat-layout-focus {
grid-template-columns: 280px minmax(0, 1fr);
}
.msg {
max-width: min(96%, 880px);
}
}
@media (max-width: 820px) {
.chat-card {
height: calc(100vh - 18px);
min-height: calc(100vh - 18px);
padding: 10px;
border-radius: 24px;
}
.chat-layout,
.chat-layout-focus {
grid-template-columns: 1fr;
}
.chat-sidebar {
position: fixed;
inset: 10px auto 10px 10px;
width: min(360px, calc(100vw - 20px));
transform: translateX(calc(-100% - 16px));
transition: transform 180ms ease;
z-index: 45;
box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18);
}
body.sidebar-open .chat-sidebar {
transform: translateX(0);
}
.chat-header-actions {
justify-content: flex-end;
}
.messages-panel,
.messages-panel-focus {
padding-top: 4px;
}
#msgInput {
min-height: 46px;
height: 46px;
}
.msg {
max-width: 100%;
}
.chat-drawer {
inset: auto 0 0 0;
width: 100vw;
padding: 12px 12px calc(12px + env(safe-area-inset-bottom, 0px));
align-items: end;
}
.chat-drawer-panel {
height: min(82vh, 880px);
border-radius: 28px 28px 18px 18px;
}
.side-panel-card {
width: calc(100vw - 20px);
max-width: calc(100vw - 20px);
height: min(88vh, 920px);
max-height: min(88vh, 920px);
margin: auto 10px 10px;
border-radius: 28px 28px 18px 18px;
}
.side-panel-overlay {
justify-items: stretch;
align-items: end;
}
}
@media (max-width: 560px) {
.chat-card {
padding: 0;
border-radius: 0;
height: 100vh;
min-height: 100vh;
}
.chat-main,
.chat-main-focus {
gap: 8px;
}
.chat-header,
.chat-header-focus {
padding: 16px 14px 8px;
background: var(--composer-bg);
position: sticky;
top: 0;
z-index: 5;
}
.chat-sidebar {
inset: 0;
width: 100vw;
border-radius: 0;
border: 0;
}
.messages-panel,
.messages-panel-focus {
padding: 0 10px;
}
.input-shell,
.input-shell-focus {
padding: 8px 10px calc(10px + env(safe-area-inset-bottom, 0px));
}
#msgInput {
min-height: 44px;
height: 44px;
}
.chat-drawer,
.chat-drawer-panel {
padding-left: 12px;
padding-right: 12px;
}
.dropdown-action-grid {
grid-template-columns: 1fr;
}
}
/* Final modern UI precedence layer */
body[data-theme] .chat-card,
body:not([data-theme]) .chat-card {
height: calc(100vh - clamp(20px, 4vw, 48px));
min-height: 720px;
padding: 0;
border-radius: var(--ui-radius-xl);
overflow: hidden;
}
body[data-theme] .chat-layout,
body[data-theme] .chat-layout-focus,
body:not([data-theme]) .chat-layout,
body:not([data-theme]) .chat-layout-focus {
grid-template-columns: clamp(276px, 21vw, 336px) minmax(0, 1fr);
gap: 0;
height: 100%;
min-height: 0;
}
body[data-theme] .chat-sidebar,
body:not([data-theme]) .chat-sidebar {
grid-template-rows: auto minmax(0, 1fr) auto;
padding: var(--ui-space-5);
gap: var(--ui-space-5);
border: 0;
border-right: 1px solid var(--ui-border);
border-radius: 0;
background: var(--nav-surface);
box-shadow: none;
}
body[data-theme] .chat-main,
body[data-theme] .chat-main-focus,
body:not([data-theme]) .chat-main,
body:not([data-theme]) .chat-main-focus {
gap: 0;
grid-template-rows: auto minmax(0, 1fr) auto;
background: radial-gradient(circle at 80% 0%, color-mix(in srgb, var(--ui-accent) 9%, transparent), transparent 32%), linear-gradient(180deg, color-mix(in srgb, var(--ui-surface-raised) 70%, transparent), color-mix(in srgb, var(--ui-surface-soft) 34%, transparent));
}
body[data-theme] .chat-header,
body[data-theme] .chat-header-focus,
body:not([data-theme]) .chat-header,
body:not([data-theme]) .chat-header-focus {
min-height: 74px;
padding: 18px clamp(18px, 3vw, 34px);
align-items: center;
background: color-mix(in srgb, var(--composer-bg) 82%, transparent);
backdrop-filter: blur(14px);
border-bottom: 1px solid var(--ui-border);
}
body[data-theme] .messages-panel,
body[data-theme] .messages-panel-focus,
body:not([data-theme]) .messages-panel,
body:not([data-theme]) .messages-panel-focus {
display: flex;
flex-direction: column;
gap: var(--ui-space-4);
padding: clamp(18px, 3vw, 42px) clamp(14px, 4vw, 56px) 24px;
overflow: auto;
background: transparent;
border: 0;
border-radius: 0;
box-shadow: none;
}
body[data-theme] .msg,
body:not([data-theme]) .msg {
width: fit-content;
max-width: min(860px, 100%);
padding: 0;
border-radius: 0;
background: transparent;
color: var(--ui-text);
box-shadow: none;
}
body[data-theme] .msg.user,
body:not([data-theme]) .msg.user {
align-self: center;
max-width: min(720px, 88%);
margin-left: auto;
padding: 14px 17px;
border-radius: 22px 22px 6px 22px;
background: var(--message-user-bg);
color: var(--message-user-text);
}
body[data-theme] .msg.bot,
body[data-theme] .msg.loading,
body:not([data-theme]) .msg.bot,
body:not([data-theme]) .msg.loading {
width: min(920px, 100%);
align-self: center;
padding: 18px 20px;
border-radius: var(--ui-radius-lg);
background: color-mix(in srgb, var(--message-bot-bg) 84%, transparent);
color: var(--message-bot-text);
border: 1px solid var(--ui-border);
box-shadow: var(--ui-shadow-sm);
}
body[data-theme] .input-shell,
body[data-theme] .input-shell-focus,
body:not([data-theme]) .input-shell,
body:not([data-theme]) .input-shell-focus {
position: sticky;
bottom: 0;
padding: 16px clamp(14px, 4vw, 56px) clamp(16px, 2vw, 24px);
margin: 0;
background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--composer-bg) 96%, transparent) 28%);
border: 0;
border-radius: 0;
box-shadow: none;
}
body[data-theme] .settings-shell,
body[data-theme] .market-shell,
body:not([data-theme]) .settings-shell,
body:not([data-theme]) .market-shell {
width: min(1320px, 100%);
padding: clamp(18px, 3vw, 34px);
border-radius: var(--ui-radius-xl);
background: radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--ui-accent) 9%, transparent), transparent 34%), var(--editorial-surface);
border-color: var(--ui-border);
box-shadow: var(--ui-shadow-md);
}
body[data-theme] .settings-panel,
body:not([data-theme]) .settings-panel,
body[data-theme] .persona-item,
body:not([data-theme]) .persona-item {
border-radius: var(--ui-radius-lg);
background: var(--ui-surface-raised);
border-color: var(--ui-border);
box-shadow: var(--ui-shadow-sm);
}
body[data-theme] #marketPersonaList,
body[data-theme] #marketUserPersonaList,
body:not([data-theme]) #marketPersonaList,
body:not([data-theme]) #marketUserPersonaList {
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
@media (max-width: 820px) {
body[data-theme] .chat-card,
body:not([data-theme]) .chat-card {
height: 100vh;
min-height: 100vh;
border: 0;
border-radius: 0;
}
body[data-theme] .chat-layout,
body[data-theme] .chat-layout-focus,
body:not([data-theme]) .chat-layout,
body:not([data-theme]) .chat-layout-focus {
grid-template-columns: 1fr;
}
body[data-theme] .chat-sidebar,
body:not([data-theme]) .chat-sidebar {
position: fixed;
inset: 0 auto 0 0;
width: min(380px, 92vw);
padding: 20px;
border-radius: 0 var(--ui-radius-xl) var(--ui-radius-xl) 0;
transform: translateX(-105%);
z-index: 45;
}
body[data-theme].sidebar-open .chat-sidebar,
body:not([data-theme]).sidebar-open .chat-sidebar {
transform: translateX(0);
}
body[data-theme] .messages-panel,
body[data-theme] .messages-panel-focus,
body:not([data-theme]) .messages-panel,
body:not([data-theme]) .messages-panel-focus {
padding: 18px 12px 16px;
}
body[data-theme] .input-shell,
body[data-theme] .input-shell-focus,
body:not([data-theme]) .input-shell,
body:not([data-theme]) .input-shell-focus {
padding: 10px 10px calc(10px + env(safe-area-inset-bottom, 0px));
}
body[data-theme] .settings-shell,
body[data-theme] .market-shell,
body:not([data-theme]) .settings-shell,
body:not([data-theme]) .market-shell {
min-height: 100vh;
border: 0;
border-radius: 0;
padding: 18px;
}
}
.market-preview-details p[data-expanded="true"] {
max-height: none;
overflow: visible;
}
/* Dark mode normalization must stay last; earlier theme-specific component rules are mixed with light-mode colors. */
body[data-theme-mode="dark"] {
--bg: #0f1218;
--bg-soft: #151a22;
--surface: rgba(23, 28, 37, 0.88);
--surface-strong: rgba(27, 33, 43, 0.94);
--text: #eef3ff;
--text-soft: #c2ccdc;
--text-muted: #96a2b6;
--line: rgba(238, 243, 255, 0.1);
--line-strong: rgba(238, 243, 255, 0.18);
--shadow: 0 18px 44px rgba(0, 0, 0, 0.32);
--bg-gradient: linear-gradient(180deg, #0f1218 0%, #151a22 100%);
--bg-overlay: linear-gradient(rgba(255, 255, 255, 0.015), rgba(255, 255, 255, 0.015));
--hero-gradient: linear-gradient(180deg, rgba(20, 25, 34, 0.98), rgba(27, 33, 43, 0.94));
--overview-gradient: var(--hero-gradient);
--panel-subtle: rgba(24, 29, 39, 0.74);
--panel-soft: rgba(30, 36, 48, 0.82);
--panel-soft-strong: rgba(35, 42, 55, 0.92);
--chip-surface: rgba(31, 37, 49, 0.86);
--chip-muted: rgba(238, 243, 255, 0.07);
--field-surface: rgba(18, 22, 31, 0.96);
--field-surface-strong: rgba(18, 22, 31, 0.98);
--field-focus-surface: rgba(24, 29, 39, 0.98);
--status-surface: rgba(26, 31, 41, 0.92);
--status-border: rgba(238, 243, 255, 0.08);
--secondary-surface: color-mix(in srgb, var(--brand) 14%, rgba(24, 29, 39, 0.9));
--secondary-surface-strong: color-mix(in srgb, var(--brand) 24%, rgba(24, 29, 39, 0.94));
--secondary-border: color-mix(in srgb, var(--brand) 36%, rgba(238, 243, 255, 0.12));
--secondary-border-strong: color-mix(in srgb, var(--brand) 50%, rgba(238, 243, 255, 0.16));
--item-hover-border: color-mix(in srgb, var(--brand) 34%, rgba(238, 243, 255, 0.12));
--item-active-border: color-mix(in srgb, var(--brand) 48%, rgba(238, 243, 255, 0.16));
--overlay-surface: linear-gradient(180deg, rgba(9, 12, 18, 0.84), rgba(17, 22, 31, 0.92));
--overlay-card-surface: linear-gradient(155deg, rgba(24, 29, 39, 0.98), rgba(31, 37, 49, 0.96));
--overlay-card-border: rgba(238, 243, 255, 0.12);
--overlay-card-shadow: 0 28px 80px rgba(0, 0, 0, 0.46);
--prompt-chip-surface: rgba(31, 37, 49, 0.9);
--messages-surface: rgba(22, 27, 37, 0.78);
--pill-surface: rgba(31, 37, 49, 0.88);
--pill-border: rgba(238, 243, 255, 0.1);
--tag-surface: rgba(238, 243, 255, 0.07);
--tag-ai-surface: color-mix(in srgb, var(--brand) 16%, rgba(238, 243, 255, 0.04));
--tag-user-surface: color-mix(in srgb, var(--success) 18%, rgba(238, 243, 255, 0.04));
--panel-elevated: rgba(27, 33, 43, 0.98);
--sidebar-bg: rgba(22, 27, 37, 0.9);
--sidebar-border: rgba(238, 243, 255, 0.09);
--message-user-text: #f7fbff;
--message-bot-bg: rgba(27, 33, 43, 0.98);
--message-bot-text: #eef3ff;
--composer-bg: rgba(18, 22, 31, 0.98);
--composer-shadow: 0 -16px 36px rgba(0, 0, 0, 0.22);
--nav-surface: rgba(20, 25, 34, 0.92);
--nav-item-surface: rgba(31, 37, 49, 0.9);
--editorial-surface: linear-gradient(180deg, rgba(25, 30, 40, 0.98), rgba(31, 37, 49, 0.95));
--ui-bg: var(--bg-gradient);
--ui-surface: var(--surface-strong);
--ui-surface-raised: var(--panel-elevated);
--ui-surface-soft: var(--panel-soft);
--ui-border: var(--line);
--ui-border-strong: var(--line-strong);
--ui-text: var(--text);
--ui-text-secondary: var(--text-soft);
--ui-text-muted: var(--text-muted);
--ui-accent: var(--brand);
--ui-accent-strong: var(--brand-strong);
--ui-danger: var(--error);
--ui-shadow-sm: 0 8px 24px rgba(0, 0, 0, 0.24);
--ui-shadow-md: 0 22px 58px rgba(0, 0, 0, 0.34);
--ui-shadow-lg: 0 34px 92px rgba(0, 0, 0, 0.48);
background: var(--ui-bg);
color: var(--ui-text);
color-scheme: dark;
}
body[data-theme-mode="dark"][data-theme="fakegpt"] {
--bg-gradient: linear-gradient(180deg, #0b0f0d 0%, #111715 100%);
--panel-elevated: rgba(18, 24, 21, 0.98);
--nav-surface: rgba(13, 18, 16, 0.94);
--nav-item-surface: rgba(20, 27, 24, 0.92);
--field-surface: rgba(10, 15, 13, 0.96);
--field-surface-strong: rgba(10, 15, 13, 0.98);
--message-bot-bg: rgba(18, 24, 21, 0.98);
--message-bot-text: #e8fff7;
--composer-bg: rgba(10, 15, 13, 0.98);
--editorial-surface: linear-gradient(180deg, rgba(14, 20, 18, 0.98), rgba(18, 24, 21, 0.95));
}
body[data-theme-mode="dark"][data-theme="fraud"] {
--bg-gradient: linear-gradient(180deg, #17120f 0%, #241a14 100%);
--text: #f5ece2;
--text-soft: #d6c2ad;
--text-muted: #ad9279;
--line: rgba(245, 220, 197, 0.1);
--line-strong: rgba(245, 220, 197, 0.18);
--panel-elevated: rgba(39, 29, 23, 0.98);
--nav-surface: rgba(34, 25, 20, 0.92);
--nav-item-surface: rgba(48, 36, 29, 0.92);
--field-surface: rgba(31, 23, 18, 0.96);
--field-surface-strong: rgba(31, 23, 18, 0.98);
--message-bot-bg: rgba(43, 32, 25, 0.98);
--message-bot-text: #f5ece2;
--composer-bg: rgba(31, 23, 18, 0.98);
--editorial-surface: linear-gradient(180deg, rgba(39, 29, 23, 0.97), rgba(51, 38, 30, 0.94));
}
body[data-theme-mode="dark"][data-theme="germini"] {
--bg-gradient: linear-gradient(180deg, #12162a 0%, #1e2440 100%);
--panel-elevated: rgba(24, 27, 52, 0.94);
--nav-surface: rgba(21, 24, 47, 0.88);
--nav-item-surface: rgba(35, 39, 72, 0.84);
--field-surface: rgba(21, 24, 47, 0.9);
--field-surface-strong: rgba(21, 24, 47, 0.96);
--message-bot-bg: rgba(29, 33, 61, 0.94);
--message-bot-text: #eef3ff;
--composer-bg: rgba(21, 24, 47, 0.96);
--editorial-surface: linear-gradient(180deg, rgba(26, 30, 58, 0.94), rgba(37, 40, 74, 0.9));
}
body[data-theme-mode="dark"][data-theme="slopilot"] {
--bg-gradient: linear-gradient(180deg, #0d1524 0%, #14213a 100%);
--panel-elevated: rgba(18, 28, 48, 0.98);
--nav-surface: rgba(15, 25, 44, 0.94);
--nav-item-surface: rgba(24, 39, 66, 0.92);
--field-surface: rgba(13, 22, 39, 0.96);
--field-surface-strong: rgba(13, 22, 39, 0.98);
--message-bot-bg: rgba(18, 30, 52, 0.98);
--message-bot-text: #eef6ff;
--composer-bg: rgba(13, 22, 39, 0.98);
--editorial-surface: linear-gradient(180deg, rgba(18, 28, 48, 0.97), rgba(22, 36, 62, 0.94));
}
body[data-theme-mode="dark"][data-theme="beta-ai"] {
--bg-gradient: linear-gradient(180deg, #151329 0%, #221d3e 100%);
--panel-elevated: rgba(28, 25, 54, 0.98);
--nav-surface: rgba(24, 21, 48, 0.94);
--nav-item-surface: rgba(39, 34, 72, 0.92);
--field-surface: rgba(22, 19, 45, 0.96);
--field-surface-strong: rgba(22, 19, 45, 0.98);
--message-bot-bg: linear-gradient(145deg, rgba(31, 27, 61, 0.98), rgba(43, 36, 78, 0.96));
--message-bot-text: #f2efff;
--composer-bg: rgba(22, 19, 45, 0.98);
--editorial-surface: linear-gradient(180deg, rgba(31, 27, 61, 0.97), rgba(43, 36, 78, 0.94));
}
body[data-theme-mode="dark"][data-theme="confusity"] {
--bg-gradient: linear-gradient(180deg, #11151d 0%, #1a1f2a 100%);
--panel-elevated: rgba(24, 28, 38, 0.98);
--nav-surface: rgba(20, 24, 33, 0.94);
--nav-item-surface: rgba(31, 36, 48, 0.94);
--field-surface: rgba(18, 22, 31, 0.96);
--field-surface-strong: rgba(18, 22, 31, 0.98);
--message-user-bg: rgba(31, 36, 48, 0.94);
--message-user-text: #eef3ff;
--message-bot-bg: rgba(24, 28, 38, 0.98);
--message-bot-text: #eef3ff;
--composer-bg: rgba(18, 22, 31, 0.98);
--editorial-surface: linear-gradient(180deg, rgba(24, 28, 38, 0.98), rgba(31, 36, 48, 0.95));
}
body[data-theme-mode="dark"] .chat-main,
body[data-theme-mode="dark"] .chat-main-focus,
body[data-theme-mode="dark"] .settings-shell,
body[data-theme-mode="dark"] .market-shell,
body[data-theme-mode="dark"] .messages-empty {
background: var(--editorial-surface);
}
body[data-theme-mode="dark"] .chat-sidebar,
body[data-theme-mode="dark"] .chat-header,
body[data-theme-mode="dark"] .chat-header-focus,
body[data-theme-mode="dark"] .input-container,
body[data-theme-mode="dark"] .settings-panel,
body[data-theme-mode="dark"] .market-preview-details > div,
body[data-theme-mode="dark"] .persona-item,
body[data-theme-mode="dark"] .modal-card,
body[data-theme-mode="dark"] .chat-drawer-panel,
body[data-theme-mode="dark"] .model-popover,
body[data-theme-mode="dark"] .model-select,
body[data-theme-mode="dark"] .model-help,
body[data-theme-mode="dark"] .persona-popover,
body[data-theme-mode="dark"] .persona-form-intro,
body[data-theme-mode="dark"] .persona-form .field,
body[data-theme-mode="dark"] .roleplay-starter-intro,
body[data-theme-mode="dark"] .dialogue-format-card,
body[data-theme-mode="dark"] .auth-panel,
body[data-theme-mode="dark"] .auth-hero,
body[data-theme-mode="dark"] .workspace-overview,
body[data-theme-mode="dark"] .summary-card,
body[data-theme-mode="dark"] .hero-stat {
background: var(--ui-surface-raised);
border-color: var(--ui-border);
color: var(--ui-text);
}
body[data-theme-mode="dark"] .chat-card,
body[data-theme-mode="dark"] .card {
background: var(--ui-surface);
border-color: var(--ui-border);
color: var(--ui-text);
}
body[data-theme-mode="dark"] input,
body[data-theme-mode="dark"] textarea,
body[data-theme-mode="dark"] select,
body[data-theme-mode="dark"] .model-select-control select {
background: var(--field-surface-strong);
border-color: var(--ui-border-strong);
color: var(--ui-text);
}
body[data-theme-mode="dark"] input::placeholder,
body[data-theme-mode="dark"] textarea::placeholder {
color: var(--ui-text-muted);
}
body[data-theme-mode="dark"] option {
background: var(--field-surface-strong);
color: var(--ui-text);
}
body[data-theme-mode="dark"] .secondary-action,
body[data-theme-mode="dark"] .icon-button,
body[data-theme-mode="dark"] .chat-item,
body[data-theme-mode="dark"] .chat-item button,
body[data-theme-mode="dark"] .session-chip,
body[data-theme-mode="dark"] .context-pill,
body[data-theme-mode="dark"] .prompt-chip,
body[data-theme-mode="dark"] .settings-nav,
body[data-theme-mode="dark"] .settings-nav-item:not(.active):not([aria-selected="true"]),
body[data-theme-mode="dark"] .chat-drawer-action,
body[data-theme-mode="dark"] .persona-item-actions button {
background: var(--nav-item-surface);
border-color: var(--ui-border);
color: var(--ui-text);
}
body[data-theme-mode="dark"] .chat-item:hover,
body[data-theme-mode="dark"] .chat-item:focus-visible,
body[data-theme-mode="dark"] .secondary-action:hover,
body[data-theme-mode="dark"] .icon-button:hover,
body[data-theme-mode="dark"] .settings-nav-item:not(.active):not([aria-selected="true"]):hover {
background: var(--secondary-surface);
border-color: var(--item-hover-border);
color: var(--ui-text);
}
body[data-theme-mode="dark"] .settings-nav-item.active,
body[data-theme-mode="dark"] .settings-nav-item[aria-selected="true"],
body[data-theme-mode="dark"] .primary-action,
body[data-theme-mode="dark"] button:not(.secondary-action):not(.icon-button):not(.chat-item-delete):not(.settings-nav-item):not(.market-preview-toggle) {
background: var(--message-user-bg);
border-color: var(--item-active-border);
color: var(--message-user-text);
}
body[data-theme-mode="dark"] .msg,
body[data-theme-mode="dark"] .msg-content,
body[data-theme-mode="dark"] .msg-content p,
body[data-theme-mode="dark"] .msg-content li,
body[data-theme-mode="dark"] .msg-content blockquote,
body[data-theme-mode="dark"] .subtitle,
body[data-theme-mode="dark"] .persona-helper,
body[data-theme-mode="dark"] .market-preview-details p,
body[data-theme-mode="dark"] .market-preview-details strong,
body[data-theme-mode="dark"] .model-help-summary,
body[data-theme-mode="dark"] .dropdown-subtitle {
color: inherit;
}
body[data-theme-mode="dark"] .msg.bot,
body[data-theme-mode="dark"] .msg.loading {
background: color-mix(in srgb, var(--message-bot-bg) 92%, transparent);
border-color: var(--ui-border);
color: var(--message-bot-text);
}
body[data-theme-mode="dark"] .msg.user {
background: var(--message-user-bg);
border-color: var(--item-active-border);
color: var(--message-user-text);
}
body[data-theme-mode="dark"] .eyebrow,
body[data-theme-mode="dark"] .chat-list-section-header,
body[data-theme-mode="dark"] .chat-item-meta,
body[data-theme-mode="dark"] .composer-hint,
body[data-theme-mode="dark"] .settings-theme-note,
body[data-theme-mode="dark"] .model-count,
body[data-theme-mode="dark"] .model-badge-label,
body[data-theme-mode="dark"] .chat-drawer-row-hint {
color: var(--ui-text-muted);
}
body[data-theme-mode="dark"] .input-shell,
body[data-theme-mode="dark"] .input-shell-focus,
body[data-theme-mode="dark"] .persona-actions {
background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--composer-bg) 96%, transparent) 28%);
}
/* Button sizing fixes: chat delete is a text action, not a square icon. */
.chat-item .chat-item-delete,
body[data-theme] .chat-item .chat-item-delete,
body:not([data-theme]) .chat-item .chat-item-delete {
width: auto;
min-width: max-content;
height: 32px;
min-height: 32px;
padding: 0 10px;
border-radius: 999px;
justify-self: end;
align-self: center;
white-space: nowrap;
overflow: visible;
font-size: 0.72rem;
line-height: 1;
}
body[data-theme-mode="dark"] .chat-item .chat-item-delete {
background: var(--chip-muted);
border-color: transparent;
color: var(--ui-text-muted);
}
body[data-theme-mode="dark"] .chat-item .chat-item-delete:hover,
body[data-theme-mode="dark"] .chat-item .chat-item-delete:focus-visible {
background: color-mix(in srgb, var(--ui-danger) 10%, var(--chip-muted));
border-color: color-mix(in srgb, var(--ui-danger) 28%, transparent);
color: var(--ui-danger);
}
/* Notices should follow the selected brand; only FakeGPT should read as green. */
body[data-theme] .status.success {
color: var(--brand-strong);
background: color-mix(in srgb, var(--brand) 12%, var(--status-surface));
border-color: color-mix(in srgb, var(--brand) 24%, var(--status-border));
}
body[data-theme-mode="dark"] .status.success {
color: color-mix(in srgb, var(--brand) 72%, #f7fbff);
background: color-mix(in srgb, var(--brand) 14%, var(--status-surface));
border-color: color-mix(in srgb, var(--brand) 30%, var(--status-border));
}
body[data-theme-mode="dark"][data-theme="fraud"] {
--surface: rgba(34, 25, 20, 0.88);
--surface-strong: rgba(42, 31, 25, 0.94);
--ui-surface: var(--surface-strong);
}
body[data-theme-mode="dark"][data-theme="fraud"] .settings-shell,
body[data-theme-mode="dark"][data-theme="fraud"] .market-shell,
body[data-theme-mode="dark"][data-theme="fraud"] .chat-card,
body[data-theme-mode="dark"][data-theme="fraud"] .card {
background: var(--editorial-surface);
border-color: var(--line);
}
/* Drawer layout precedence: keep controls visible despite header-action/theme overrides. */
#chatDrawer.chat-drawer {
position: fixed;
display: grid;
inset: 10px 10px 10px auto;
width: min(500px, calc(100vw - 20px));
height: auto;
max-height: calc(100dvh - 20px);
padding: 0;
z-index: 100;
overflow: hidden;
box-sizing: border-box;
}
#chatDrawer.chat-drawer.hidden {
display: none;
}
#chatDrawer .chat-drawer-panel {
width: 100%;
height: 100%;
max-height: calc(100dvh - 20px);
min-height: 0;
display: grid;
grid-template-rows: auto minmax(0, 1fr);
gap: 14px;
overflow: hidden;
}
#chatDrawer .chat-drawer-header {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
align-items: start;
}
#chatDrawer .chat-drawer-body {
display: grid;
min-height: 0;
align-content: start;
overflow: auto;
gap: 10px;
padding-bottom: 8px;
}
#chatDrawer .chat-drawer-summary,
#chatDrawer .chat-drawer-section:not(.hidden),
#chatDrawer .chat-drawer-more,
#chatDrawer .chat-drawer-danger {
display: grid;
}
@media (max-width: 820px) {
#chatDrawer.chat-drawer {
inset: auto 10px calc(10px + env(safe-area-inset-bottom, 0px)) 10px;
width: auto;
height: min(78dvh, 760px);
max-height: calc(100dvh - 20px - env(safe-area-inset-bottom, 0px));
padding: 0;
}
#chatDrawer .chat-drawer-panel {
height: 100%;
max-height: min(78dvh, 760px);
border-radius: 28px 28px 18px 18px;
}
}