Files
KrisHD_AI/public/style.css
T

4282 lines
95 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;
}
.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;
}
.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 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,
.persona-menu {
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 {
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: 12px;
}
.input-meta {
display: flex;
justify-content: space-between;
align-items: center;
gap: 12px;
flex-wrap: wrap;
}
.input-container {
display: grid;
grid-template-columns: minmax(0, 1fr) 56px;
gap: 12px;
align-items: stretch;
}
#msgInput {
min-height: 56px;
max-height: 180px;
}
#send {
width: 56px;
height: auto;
min-height: 56px;
padding: 0;
border-radius: 18px;
}
#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 .persona-menu,
.chat-header-actions .chat-actions-menu {
display: flex;
align-items: stretch;
align-self: stretch;
}
.persona-popover {
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: minmax(0, 1fr) 180px;
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="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="fakegpt"] .card,
body[data-theme="fakegpt"] .chat-sidebar,
body[data-theme="fakegpt"] .messages-panel,
body[data-theme="fakegpt"] .input-shell,
body[data-theme="fakegpt"] .market-shell,
body[data-theme="fakegpt"] .settings-panel,
body[data-theme="fakegpt"] .modal-card,
body[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="fakegpt"] .auth-panel,
body[data-theme="fakegpt"] .auth-hero,
body[data-theme="fakegpt"] .workspace-overview,
body[data-theme="fakegpt"] .hero-stat,
body[data-theme="fakegpt"] .summary-card,
body[data-theme="fakegpt"] .context-pill,
body[data-theme="fakegpt"] .prompt-chip,
body[data-theme="fakegpt"] .status,
body[data-theme="fakegpt"] .model-popover,
body[data-theme="fakegpt"] .model-select,
body[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="fakegpt"] .chat-item,
body[data-theme="fakegpt"] .persona-item,
body[data-theme="fakegpt"] .hero-panel {
background: rgba(10, 15, 13, 0.92);
border-color: rgba(36, 255, 180, 0.12);
}
body[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="fakegpt"] .msg.bot,
body[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="fakegpt"] .secondary-action,
body[data-theme="fakegpt"] .icon-button,
body[data-theme="fakegpt"] .chat-item button,
body[data-theme="fakegpt"] .session-chip,
body[data-theme="fakegpt"] .settings-nav,
body[data-theme="fakegpt"] .settings-nav-item:not(.active),
body[data-theme="fakegpt"] .settings-theme-note,
body[data-theme="fakegpt"] .persona-form-intro,
body[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="fakegpt"] input,
body[data-theme="fakegpt"] textarea,
body[data-theme="fakegpt"] select,
body[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="fakegpt"] .model-count,
body[data-theme="fakegpt"] .model-help-badge[data-badge="waiting"] {
color: #87aea3;
}
body[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="fakegpt"] .model-badge-label {
color: #87aea3;
}
body[data-theme="fakegpt"] .model-select-chevron {
border-color: #b7d8ce;
}
body[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);
}
@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 auto;
}
.input-container {
grid-template-columns: 1fr;
}
#send {
width: 100%;
height: 52px;
}
.msg {
max-width: 100%;
}
.persona-popover {
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 {
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%;
}
}
.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 .persona-menu,
.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 .persona-menu,
.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: 16px 18px 18px;
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: 72px;
}
.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,
.model-popover {
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 {
width: min(360px, 88vw);
}
.persona-popover {
width: min(420px, 88vw);
}
.chat-actions-menu .persona-popover {
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: minmax(0, 1fr) minmax(180px, 220px);
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,
.model-popover {
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-actions-menu,
.chat-header-actions .model-menu {
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;
}
}
/* 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 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: 92px;
}
.messages-panel,
.messages-panel-focus {
min-height: 0;
padding: 10px 4px 0;
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;
padding: 14px 16px 16px;
margin-top: -4px;
background: linear-gradient(180deg, rgba(255, 255, 255, 0), var(--composer-bg) 18%);
border: 0;
border-top: 1px solid var(--line);
border-radius: 0;
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 8px;
}
#msgInput {
width: 100%;
min-width: 0;
min-height: 144px;
}
.chat-drawer {
position: fixed;
inset: 0 0 0 auto;
width: min(560px, 100vw);
padding: 12px;
background: rgba(16, 24, 40, 0.18);
backdrop-filter: blur(10px);
z-index: 50;
}
.chat-drawer.hidden {
display: none;
}
.chat-drawer-panel {
height: 100%;
margin-left: auto;
display: grid;
grid-template-rows: auto minmax(0, 1fr);
gap: 22px;
padding: 24px;
background: var(--panel-elevated);
border: 1px solid var(--line);
border-radius: 28px;
box-shadow: 0 28px 80px rgba(0, 0, 0, 0.18);
}
.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;
padding-right: 10px;
gap: 16px;
scrollbar-gutter: stable;
}
.chat-drawer-section {
padding: 18px;
background: var(--nav-item-surface);
border: 1px solid var(--pill-border);
border-radius: 22px;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45);
}
.chat-drawer-section:last-child {
padding: 18px;
border-bottom: 1px solid var(--pill-border);
}
.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 .model-menu,
.chat-drawer .persona-menu {
display: grid !important;
gap: 14px;
}
.chat-drawer .model-popover,
.chat-drawer .persona-popover {
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;
}
.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: 132px;
}
.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: 10px 12px calc(12px + env(safe-area-inset-bottom, 0px));
}
#msgInput {
min-height: 120px;
}
.chat-drawer,
.chat-drawer-panel {
padding-left: 12px;
padding-right: 12px;
}
.dropdown-action-grid {
grid-template-columns: 1fr;
}
}