:root{--font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--background-color: #111118;--sidebar-background: #191921;--composer-background: #20212c;--message-user-background: #2a2a36;--text-color: #e1e1e6;--text-color-secondary: #8b949e;--text-color-placeholder: #6a6a79;--border-color: #30363d;--accent-color: #00a8cc;--accent-color-hover: #00c0e8;--error-color: #f85149;--spacing-unit: 16px;--sidebar-width: 260px;--reading-width: 760px;--border-radius: 8px;--composer-border-radius: 20px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*,*:before,*:after{box-sizing:border-box}body{margin:0;background-color:var(--background-color);color:var(--text-color);font-family:var(--font-family);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.login{height:100vh;display:grid;place-content:center;gap:20px;text-align:center}.login h1{font-size:32px;font-weight:600}.login a{background:var(--accent-color);color:#fff;padding:12px 24px;border-radius:var(--border-radius);text-decoration:none;transition:background-color .2s ease}.login a:hover{background:var(--accent-color-hover)}.emma-workspace{display:flex;height:100vh;width:100vw;overflow:hidden}.sidebar{background:var(--sidebar-background);width:var(--sidebar-width);height:100%;display:flex;flex-direction:column;padding:var(--spacing-unit);border-right:1px solid var(--border-color);transition:transform .3s ease;flex-shrink:0}.main-content{flex-grow:1;display:flex;flex-direction:column;height:100%;position:relative}.mobile-menu-button{display:none;position:absolute;top:var(--spacing-unit);left:var(--spacing-unit);z-index:100;background:var(--composer-background);color:var(--text-color);border:1px solid var(--border-color);border-radius:var(--border-radius);width:40px;height:40px;font-size:24px}@media (max-width: 768px){.sidebar{position:absolute;top:0;left:0;bottom:0;z-index:99;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.mobile-menu-button{display:block}}.sidebar-header{padding-bottom:var(--spacing-unit)}.sidebar-header .logo{font-size:20px;font-weight:600}.sidebar-header .sub-logo{font-size:14px;color:var(--text-color-secondary)}.new-conversation-button{background:var(--accent-color);color:#fff;width:100%;border:none;padding:10px;border-radius:var(--border-radius);font-size:15px;cursor:pointer;margin:var(--spacing-unit) 0;transition:background-color .2s ease;text-align:center}.new-conversation-button:hover{background:var(--accent-color-hover)}.sidebar-divider{border-bottom:1px solid var(--border-color);margin:var(--spacing-unit) 0}.session-heading{font-size:12px;font-weight:500;color:var(--text-color-secondary);text-transform:uppercase;letter-spacing:.5px;padding:0 8px;margin-bottom:8px}.conversation-list{flex-grow:1;overflow-y:auto}.conversation-item{padding:8px 12px;border-radius:var(--border-radius);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background-color .2s ease}.conversation-item:hover{background-color:var(--composer-background)}.conversation-item.active{background-color:var(--accent-color);color:#fff}.sidebar-footer{padding-top:var(--spacing-unit);border-top:1px solid var(--border-color);font-size:13px;color:var(--text-color-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-workspace{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}.transcript{flex-grow:1;overflow-y:auto;padding:0 var(--spacing-unit)}.transcript-inner{max-width:var(--reading-width);margin:0 auto;padding:calc(var(--spacing-unit) * 2) 0}.empty-state{text-align:center;padding-top:10vh}.empty-state-mark{font-size:32px;color:var(--accent-color);margin-bottom:var(--spacing-unit)}.empty-state h1{font-size:32px;font-weight:600;margin:0 0 calc(var(--spacing-unit) / 2)}.empty-state p{color:var(--text-color-secondary);max-width:450px;margin:0 auto calc(var(--spacing-unit) * 2)}.starter-prompts{display:flex;justify-content:center;gap:var(--spacing-unit);flex-wrap:wrap;max-width:600px;margin:0 auto}.starter-prompt{background:var(--composer-background);border:1px solid var(--border-color);padding:10px 14px;border-radius:var(--border-radius);cursor:pointer;font-size:14px;transition:background-color .2s ease,border-color .2s ease;text-align:left;color:var(--text-color)}.starter-prompt:hover{background:var(--message-user-background);border-color:var(--accent-color)}.message{margin-bottom:calc(var(--spacing-unit) * 1.5);display:flex;flex-direction:column}.message.user{align-items:flex-end}.message.assistant{align-items:flex-start}.message-content{padding:12px 16px;border-radius:var(--border-radius);max-width:90%}.message.user .message-content{background:var(--message-user-background)}.message.assistant .message-content{background:transparent}.message-content p{margin:0}.message-role{font-size:12px;font-weight:600;color:var(--text-color-secondary);margin-bottom:4px;text-transform:uppercase}.loading-indicator,.error-message{color:var(--text-color-secondary);font-style:italic}.error-message button{width:auto;padding:4px 8px;margin-left:8px;font-size:13px;border:1px solid var(--accent-color);background:transparent;color:var(--accent-color)}.error-message button:hover{background:var(--accent-color);color:#fff}.composer-container{padding:var(--spacing-unit) 0;width:100%;flex-shrink:0}.composer-inner{max-width:var(--reading-width);margin:0 auto;padding:0 var(--spacing-unit)}.composer{background:var(--composer-background);border:1px solid var(--border-color);border-radius:var(--composer-border-radius);padding:8px 8px 8px 20px;display:flex;align-items:flex-end;box-shadow:0 4px 15px #0003;transition:border-color .2s ease}.composer:focus-within{border-color:var(--accent-color)}.composer textarea{flex-grow:1;background:transparent;border:none;outline:none;resize:none;color:var(--text-color);font-family:inherit;font-size:16px;line-height:1.5;padding:8px 0;max-height:200px}.composer textarea::placeholder{color:var(--text-color-placeholder)}.composer button{background:var(--accent-color);border:none;color:#fff;width:36px;height:36px;border-radius:50%;font-size:20px;cursor:pointer;flex-shrink:0;margin-left:8px;display:grid;place-items:center;transition:background-color .2s ease}.composer button:hover:not(:disabled){background-color:var(--accent-color-hover)}.composer button:disabled{background-color:var(--border-color);cursor:not-allowed;opacity:1}
