: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; align-items: stretch; justify-items: stretch; 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; min-width: 0; display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 14px; padding: 24px; box-sizing: border-box; overflow: hidden; } #chatDrawer .chat-drawer-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; min-width: 0; min-height: 58px; } #chatDrawer .chat-drawer-header > div { min-width: 0; } #chatDrawerTitle { line-height: 1.15; overflow-wrap: anywhere; } #chatDrawerClose { flex: 0 0 auto; min-width: 74px; min-height: 42px; padding: 8px 14px; border-radius: 14px; line-height: 1; } #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); padding: 20px; border-radius: 28px 28px 18px 18px; } }