:root{--bg-primary: #ffffff;--text-primary: #333333;--bg-secondary: #f0f0f0;--bg-message-bot: #e9e9eb;--text-message-bot: #333333;--bg-message-user: #007bff;--text-message-user: #ffffff;--sidebar-bg: #333333;--sidebar-text: #ffffff;--input-bg: #f9f9f9;--input-border: #dddddd;--landing-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--features-bg: #f8f9fa;--card-bg: #ffffff;--features-text: #333333;--card-title: #5C6BC0;--card-text: #666666;--footer-bg: #333333;--footer-text: #ffffff;--shadow-light: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-hover: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--border-color: #dddddd;--text-muted: #888888;--link-color: #007bff;--code-bg: #f4f4f4;--blockquote-border: #dddddd;--table-border: #dddddd;--table-header-bg: #f2f2f2;--modal-bg: #ffffff;--modal-overlay: rgba(0, 0, 0, .5);--button-primary: #5C6BC0;--button-secondary: #cccccc;--danger-bg: #dc3545}[data-theme=dark],.dark{--bg-primary: #1a1a1a;--text-primary: #e6e6e6;--bg-secondary: #2a2a2a;--bg-message-bot: #2a2a2a;--text-message-bot: #e6e6e6;--bg-message-user: #0056b3;--text-message-user: #ffffff;--sidebar-bg: #2a2a2a;--sidebar-text: #e6e6e6;--input-bg: #3a3a3a;--input-border: #555555;--landing-gradient: linear-gradient(135deg, #1e293b 0%, #334155 100%);--features-bg: #1f2937;--card-bg: #374151;--features-text: #f9fafb;--card-title: #60a5fa;--card-text: #d1d5db;--footer-bg: #1f2937;--footer-text: #f9fafb;--shadow-light: 0 4px 6px -1px rgba(0, 0, 0, .2), 0 2px 4px -2px rgba(0, 0, 0, .2);--shadow-hover: 0 10px 15px -3px rgba(0, 0, 0, .2), 0 4px 6px -4px rgba(0, 0, 0, .2);--border-color: #555555;--text-muted: #a1a1aa;--link-color: #60a5fa;--code-bg: #374151;--blockquote-border: #555555;--table-border: #555555;--table-header-bg: #4b5563;--modal-bg: #1f2937;--modal-overlay: rgba(0, 0, 0, .7);--button-primary: #4f46e5;--button-secondary: #6b7280;--danger-bg: #ef4444}body{font-family:sans-serif;margin:0;display:flex;height:100vh;background-color:var(--bg-secondary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}.chat-container{display:flex;width:100%;height:100%;overflow:hidden}.sidebar{width:250px;background-color:var(--sidebar-bg);color:var(--sidebar-text);padding:20px;display:flex;flex-direction:column;flex-shrink:0;transition:background-color .3s ease,color .3s ease}#new-chat-btn{background-color:var(--button-primary);color:var(--text-message-user);border:none;padding:10px;cursor:pointer;margin-bottom:20px;border-radius:5px;transition:background-color .3s ease}#new-chat-btn:hover{background-color:color-mix(in srgb,var(--button-primary) 90%,black)}#session-list{list-style:none;padding:0;margin:0 0 20px;overflow-y:auto;flex-grow:1}#session-list li{padding:10px;cursor:pointer;border-bottom:1px solid color-mix(in srgb,var(--border-color) 50%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;display:flex;justify-content:space-between;align-items:center;color:var(--sidebar-text);transition:background-color .3s ease}#session-list li:hover{background-color:color-mix(in srgb,var(--sidebar-bg) 90%,transparent)}#session-list li.active{background-color:var(--button-primary);color:var(--text-message-user)}.chat-list-item-content{flex-grow:1;overflow:hidden;text-overflow:ellipsis}.chat-list-item-date{font-size:.8em;opacity:.7;margin-left:10px;color:inherit}.chat-list-item-actions{display:none;position:absolute;right:10px;top:50%;transform:translateY(-50%)}#session-list li:hover .chat-list-item-actions{display:flex}.chat-list-item-actions button{background:none;border:none;color:inherit;cursor:pointer;padding:5px;margin-left:5px}.chat-list-item-actions button:hover{opacity:.7}.chat-list-item-edit-input{width:100%;background:transparent;border:1px solid color-mix(in srgb,var(--border-color) 70%,transparent);color:inherit;padding:5px}.chat-window{flex-grow:1;display:flex;flex-direction:column;background-color:var(--bg-primary);transition:background-color .3s ease}#chat-messages{flex-grow:1;padding:20px;overflow-y:auto;border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:15px;color:var(--text-primary)}.message-wrapper{display:flex;max-width:99%;position:relative}.message-bubble{padding:10px 15px;border-radius:18px;line-height:1.4;word-wrap:break-word;position:relative;strong {font-weight: bold;} em {font-style: italic;} code {background-color: var(--code-bg); padding: 2px 4px; border-radius: 3px; font-family: monospace; color: var(--text-primary);} pre {background-color: var(--code-bg); padding: 10px; border-radius: 5px; overflow-x: auto; code {background-color: transparent; padding: 0; color: inherit;}} blockquote {border-left: 4px solid var(--blockquote-border); margin: 0 0 0 20px; padding-left: 15px; color: color-mix(in srgb,var(--text-primary) 80%,transparent); font-style: italic;} ul,ol {margin: 10px 0; padding-left: 20px;} li {margin: 5px 0;} table {border-collapse: collapse; width: 100%; margin: 10px 0;} th,td {border: 1px solid var(--table-border); padding: 8px; text-align: left;} th {background-color: var(--table-header-bg);} img {max-width: 100%; height: auto; display: block; margin: 10px 0;} a {color: var(--link-color);}}.message-wrapper.user{align-self:flex-end}.message-wrapper.user .message-bubble{background-color:var(--bg-message-user);color:var(--text-message-user);border-bottom-right-radius:4px}.message-wrapper.bot{align-self:flex-start}.message-wrapper.bot .message-bubble{background-color:var(--bg-message-bot);color:var(--text-message-bot);border-bottom-left-radius:4px}.message-timestamp{font-size:.75em;color:var(--text-muted);margin-top:2px;opacity:.7}.message-wrapper.user .message-timestamp{text-align:right;margin-left:auto;margin-right:0}.message-wrapper.bot .message-timestamp{text-align:left;margin-left:0;margin-right:auto}.message-actions{position:absolute;top:-25px;right:0;display:none;background:var(--bg-secondary);border-radius:4px;padding:2px;color:var(--text-primary)}.message-wrapper:hover .message-actions{display:flex}.message-actions button{background:none;border:none;padding:4px 8px;cursor:pointer;font-size:.8em;color:inherit}.message-actions button:hover{background:color-mix(in srgb,var(--bg-secondary) 80%,transparent)}.chat-input{display:flex;padding:10px;background-color:var(--input-bg);flex-shrink:0;align-items:flex-end;border-top:1px solid var(--input-border);transition:background-color .3s ease,border-color .3s ease}#user-input{flex-grow:1;padding:15px;border:1px solid var(--input-border);border-radius:20px;resize:none;min-height:24px;max-height:200px;font-family:inherit;font-size:16px;line-height:1.4;overflow-y:auto;background-color:var(--input-bg);color:var(--text-primary);transition:border-color .3s ease,background-color .3s ease,color .3s ease}#user-input:focus{border-color:var(--link-color);outline:none}#send-btn{background-color:var(--button-primary);color:var(--text-message-user);border:none;padding:10px 15px;margin-left:10px;cursor:pointer;border-radius:5px;align-self:flex-end;transition:background-color .3s ease}#send-btn:hover{background-color:color-mix(in srgb,var(--button-primary) 90%,black)}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--modal-overlay);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:var(--modal-bg);padding:20px;border-radius:5px;max-width:500px;width:90%;text-align:center;color:var(--text-primary);transition:background-color .3s ease,color .3s ease}.modal-buttons{margin-top:20px}.modal-buttons button{margin:0 10px;padding:8px 16px;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.modal-buttons button:first-child{background-color:var(--button-secondary);color:var(--text-primary)}.modal-buttons button:last-child{background-color:var(--button-primary);color:var(--text-message-user)}@media (max-width: 768px){.chat-container{flex-direction:column}.sidebar{width:100%;height:auto;padding:10px;flex-direction:column;box-sizing:border-box}#session-list{max-height:100px;margin-bottom:10px}#new-chat-btn,#sign-out-btn{width:100%;margin-bottom:10px}.g_id_signin{width:100%;display:flex;justify-content:center;margin-bottom:10px}.chat-window{height:100%}.message-wrapper{max-width:90%}.chat-input{padding:10px}}.chat-header{display:none}#overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--modal-overlay);z-index:99}.app-container{display:flex;width:100%;height:100%}body.sidebar-open #overlay{display:block}@media (max-width: 768px){.app-container,.chat-container{flex-direction:column}.sidebar{position:fixed;left:0;top:0;height:100%;z-index:100;transform:translate(-100%);transition:transform .3s ease-in-out;width:280px}body.sidebar-open .sidebar{transform:translate(0)}.chat-window{width:100%;height:100vh}.chat-header{display:flex;align-items:center;padding:10px;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0;color:var(--text-primary)}#menu-toggle-btn{background:none;border:none;cursor:pointer;padding:5px;margin-right:15px}#menu-toggle-btn svg{stroke:var(--text-primary)}.chat-title{font-weight:700;color:inherit}}@media (max-width: 768px){.message-bubble{strong,em {font-size: 1em;} table {font-size: .9em; overflow-x: auto; display: block;} pre {font-size: .9em;} img {max-width: 90%;} ul,ol {padding-left: 15px;}}}.message-bubble ul{padding-left:20px}.message-bubble li{margin-bottom:5px}@media (max-width: 768px){.chat-window{height:100%;display:flex;flex-direction:column}#chat-messages{flex-grow:1;overflow-y:auto}.chat-input{flex-shrink:0}}.landing-page{display:flex;flex-direction:column;min-height:100vh;width:100%;background:var(--landing-gradient);color:var(--text-primary);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;transition:background .3s ease}.landing-hero{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;text-align:center}.hero-content{max-width:800px}.hero-title{font-size:3.5rem;font-weight:700;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.2);color:var(--text-message-user)}.hero-subtitle{font-size:1.5rem;font-weight:300;margin-bottom:2rem;opacity:.9;line-height:1.4;color:var(--text-message-user)}.hero-cta .g_id_signin{display:inline-block;margin-top:1rem}.features-section{padding:4rem 2rem;background-color:var(--features-bg);color:var(--features-text);transition:background-color .3s ease,color .3s ease}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.feature-card{background:var(--card-bg);border-radius:10px;padding:2rem;box-shadow:var(--shadow-light);transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;text-align:center;color:var(--features-text)}.feature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover)}.feature-card h3{font-size:1.5rem;margin-bottom:1rem;color:var(--card-title)}.feature-card p{font-size:1rem;line-height:1.6;color:var(--card-text)}.landing-footer{padding:2rem;text-align:center;background-color:var(--footer-bg);color:var(--footer-text);transition:background-color .3s ease,color .3s ease}@media (max-width: 768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.2rem}.features-section{padding:2rem 1rem}.features-grid{grid-template-columns:1fr;gap:1.5rem}.feature-card{padding:1.5rem}}@media (max-width: 480px){.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.features-grid{gap:1rem}.feature-card{padding:1rem}.feature-card h3{font-size:1.3rem}}.message-bubble{border-radius:1rem;box-shadow:var(--shadow-light);transition:all .3s ease-in-out}.message-wrapper.bot .message-bubble{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.message-wrapper.user .message-bubble{color:var(--text-message-user)}.message-bubble:hover{box-shadow:var(--shadow-hover)}.chat-input,#user-input{border-radius:1rem;border:1px solid var(--input-border);padding:.75rem 1rem;transition:color .15s ease-in-out,border-color .15s ease-in-out,background-color .15s ease-in-out}#user-input:focus{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--link-color) 50%,transparent)}#user-input:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--link-color) 30%,transparent)}.sidebar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-right:1px solid color-mix(in srgb,var(--border-color) 50%,transparent);border-top-left-radius:1rem;border-bottom-left-radius:1rem;box-shadow:var(--shadow-light)}#session-list li{transition:background-color .15s ease-in-out}#session-list li:hover{background-color:color-mix(in srgb,var(--sidebar-bg) 95%,transparent)}#send-btn,#new-chat-btn,.modal-buttons button{background:linear-gradient(to right,var(--button-primary),color-mix(in srgb,var(--button-primary) 80%,var(--bg-primary)));color:var(--text-message-user);border-radius:1rem;padding:.75rem 1.5rem;border:none;box-shadow:var(--shadow-light);cursor:pointer;transition:all .15s ease-in-out;font-weight:500}#send-btn:hover,#new-chat-btn:hover,.modal-buttons button:hover{box-shadow:var(--shadow-hover)}#send-btn:active,#new-chat-btn:active,.modal-buttons button:active{transform:scale(.95)}#send-btn:focus-visible,#new-chat-btn:focus-visible,.modal-buttons button:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--button-primary) 30%,transparent)}.personality-strategist .message-bubble,.personality-strategist #send-btn{--accent-color: #3b82f6;border-left-color:var(--accent-color)}.personality-empath .message-bubble,.personality-empath #send-btn{--accent-color: #ec4899;border-left-color:var(--accent-color)}.personality-innovator .message-bubble,.personality-innovator #send-btn{--accent-color: #10b981;border-left-color:var(--accent-color)}.dark .feature-card,[data-theme=dark] .feature-card{background:var(--card-bg);color:var(--features-text)}.dark .hero-title,[data-theme=dark] .hero-title,.dark .hero-subtitle,[data-theme=dark] .hero-subtitle{color:var(--text-message-user)}@media (max-width: 768px){.message-bubble{box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;padding:.5rem .75rem}.chat-input,#user-input{padding:.5rem .75rem;border-radius:.75rem}.sidebar{box-shadow:var(--shadow-light);width:260px}#send-btn,#new-chat-btn,.modal-buttons button{padding:.625rem 1.25rem;border-radius:.75rem}.feature-card{box-shadow:0 2px 4px #0000001a}}:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}@media (prefers-contrast: high){.message-wrapper.bot .message-bubble{background-color:color-mix(in srgb,var(--bg-message-bot) 90%,black);color:var(--text-primary)}.message-wrapper.user .message-bubble{background-color:color-mix(in srgb,var(--bg-message-user) 90%,black);color:var(--text-message-user)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}#hero-signin-btn{padding:.75rem 1.5rem;font-size:1.125rem;font-weight:600;color:#fff;background-image:linear-gradient(to right,#4f46e5,#7c3aed);border:none;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;cursor:pointer;transition:all .2s ease-in-out}#hero-signin-btn:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}#hero-fallback-btn{background:transparent;color:#667eea;border:2px solid #667eea;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;margin-left:12px}#hero-fallback-btn:hover{background:#667eea;color:#fff;transform:translateY(-1px)}#sidebar-content{display:flex;flex-direction:column;height:100%}.user-menu{display:flex;align-items:center}
