:root,:root[data-theme=dark]{--bg-main: #0d0f12;--bg-sidebar: #13161b;--bg-card: #1a1e24;--bg-card-hover: #222730;--bg-input: #171b21;--bg-user-bubble: #1e293b;--bg-modal: #191d24;--bg-modal-overlay: rgba(0, 0, 0, .75);--table-head-bg: #171b22;--pre-bg: #0b0d11;--hero-title-grad: linear-gradient(135deg, #ffffff 40%, #a5b4fc 100%);--border-subtle: rgba(255, 255, 255, .08);--border-focus: rgba(99, 102, 241, .5);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--primary: #6366f1;--primary-hover: #4f46e5;--primary-glow: rgba(99, 102, 241, .25);--accent-cyan: #06b6d4;--accent-purple: #a855f7;--danger: #ef4444;--danger-hover: #dc2626;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px rgba(99, 102, 241, .2);--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Consolas, monospace}:root[data-theme=light]{--bg-main: #f8fafc;--bg-sidebar: #ffffff;--bg-card: #ffffff;--bg-card-hover: #f1f5f9;--bg-input: #ffffff;--bg-user-bubble: #e0e7ff;--bg-modal: #ffffff;--bg-modal-overlay: rgba(15, 23, 42, .45);--table-head-bg: #f1f5f9;--pre-bg: #1e293b;--hero-title-grad: linear-gradient(135deg, #0f172a 35%, #4f46e5 100%);--border-subtle: #e2e8f0;--border-focus: rgba(99, 102, 241, .6);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--primary: #6366f1;--primary-hover: #4f46e5;--primary-glow: rgba(99, 102, 241, .18);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-glow: 0 0 20px rgba(99, 102, 241, .15)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;width:100%;background-color:var(--bg-main);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;transition:background-color .25s ease,color .25s ease}#root{height:100%;width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}pre{background-color:var(--pre-bg)!important;border:1px solid var(--border-subtle);border-radius:var(--radius-md)!important;padding:1rem 1.25rem!important;margin:.75rem 0!important;overflow-x:auto;font-family:var(--font-mono)!important;font-size:.85rem!important;line-height:1.6!important;box-shadow:var(--shadow-sm)}code{font-family:var(--font-mono)}:not(pre)>code{background-color:var(--bg-card-hover);border:1px solid var(--border-subtle);padding:.15rem .4rem;border-radius:6px;font-size:.85em;color:var(--primary)}::selection{background-color:#6366f159;color:#fff}.app{display:flex;width:100vw;height:100vh;background-color:var(--bg-main);color:var(--text-primary);overflow:hidden;position:relative}@media (max-width: 768px){.app{flex-direction:column}}.sidebar{background-color:var(--bg-sidebar);color:var(--text-secondary);height:100vh;width:280px;min-width:280px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--border-subtle);padding:.875rem;box-sizing:border-box;transition:width .28s cubic-bezier(.4,0,.2,1),min-width .28s cubic-bezier(.4,0,.2,1),padding .28s cubic-bezier(.4,0,.2,1),opacity .2s ease,transform .28s cubic-bezier(.4,0,.2,1);overflow:hidden;white-space:nowrap;position:relative;z-index:200}.sidebar.collapsed{width:0;min-width:0;padding-left:0;padding-right:0;border-right:none;opacity:0;pointer-events:none}.sidebar-header{margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.new-chat-btn{flex:1;display:flex;justify-content:space-between;align-items:center;padding:.75rem .875rem;border-radius:var(--radius-md);background:linear-gradient(135deg,#ffffff0d,#ffffff05);border:1px solid var(--border-subtle);color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-weight:500;font-size:.875rem}.new-chat-btn:hover{background:#ffffff14;border-color:#ffffff2e;box-shadow:0 2px 8px #0003;transform:translateY(-1px)}.btn-brand{display:flex;align-items:center;gap:.65rem}.logo{height:22px;width:22px;border-radius:50%;object-fit:cover;background-color:#fff;box-shadow:0 0 8px #fff3}.btn-text{font-weight:600;letter-spacing:.2px}.btn-icon{font-size:.9rem;color:var(--text-muted);transition:color .2s ease}.new-chat-btn:hover .btn-icon{color:var(--primary)}.sidebar-collapse-btn{width:36px;height:36px;min-width:36px;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:.85rem}.sidebar-collapse-btn:hover{background-color:var(--bg-card-hover);color:var(--text-primary);border-color:#ffffff26}.history-section{flex:1;display:flex;flex-direction:column;overflow:hidden;margin-bottom:.75rem}.history-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:.5rem}.history-list{list-style:none;overflow-y:auto;padding-right:.25rem;display:flex;flex-direction:column;gap:.25rem}.history-item{display:flex;align-items:center;gap:.65rem;padding:.65rem .75rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;color:var(--text-secondary);transition:all .15s ease;position:relative}.history-item .item-icon{font-size:.85rem;color:var(--text-muted);flex-shrink:0}.history-item .item-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item:hover{background-color:var(--bg-card-hover);color:var(--text-primary)}.history-item:hover .item-icon{color:var(--text-primary)}.history-item.active{background:linear-gradient(90deg,#6366f126,#6366f10d);color:var(--text-primary);border-left:3px solid var(--primary);font-weight:500}.history-item.active .item-icon{color:var(--primary)}.delete-btn{opacity:0;background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px 6px;border-radius:4px;transition:all .15s ease;font-size:.85rem;flex-shrink:0}.history-item:hover .delete-btn{opacity:1}.delete-btn:hover{color:var(--danger)!important;background-color:#ef44441a}.history-empty{font-size:.825rem;color:var(--text-muted);padding:1rem .75rem;text-align:center;font-style:italic}.sidebar-footer{padding-top:.75rem;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.6rem}.user-profile-bar{display:flex;align-items:center;gap:.65rem;padding:.5rem .65rem;background-color:#ffffff08;border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all .2s ease}.user-profile-bar:hover{background-color:#ffffff0f}.user-avatar-badge{width:32px;height:32px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary) 0%,#06b6d4 100%);color:#fff;font-weight:700;font-size:.8rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 6px #00000040}.user-info{display:flex;flex-direction:column;flex:1;min-width:0;text-align:left}.user-name{font-size:.825rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:.725rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:var(--radius-sm);font-size:.85rem;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.logout-btn:hover{color:var(--danger);background-color:#ef44441f}.sidebar-auth-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.6rem;background:linear-gradient(135deg,#6366f126,#06b6d426);border:1px solid rgba(99,102,241,.3);border-radius:var(--radius-md);color:#fff;font-size:.825rem;font-weight:600;cursor:pointer;transition:all .2s ease}.sidebar-auth-btn:hover{background:linear-gradient(135deg,var(--primary) 0%,#4338ca 100%);border-color:var(--primary);box-shadow:0 4px 12px #6366f14d}.sign-badge{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.775rem;color:var(--text-muted);padding:.2rem}.sidebar-backdrop{display:none}.modal-overlay{position:fixed;inset:0;background-color:var(--bg-modal-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .15s ease-out}.confirm-modal{background-color:var(--bg-modal);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.5rem;max-width:400px;width:100%;box-shadow:var(--shadow-lg);animation:modalPop .18s cubic-bezier(.34,1.56,.64,1);box-sizing:border-box}.modal-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.modal-icon-danger{width:36px;height:36px;border-radius:50%;background-color:#ef444426;color:var(--danger);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.modal-header h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.modal-body{font-size:.9rem;color:var(--text-secondary);line-height:1.5;margin-bottom:1.5rem;word-break:break-word}.modal-body strong{color:var(--text-primary);font-weight:600}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem}.modal-btn{padding:.55rem 1.15rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;border:none}.cancel-btn{background-color:#ffffff14;color:var(--text-primary);border:1px solid var(--border-subtle)}.cancel-btn:hover{background-color:#ffffff24}.delete-confirm-btn{background-color:var(--danger);color:#fff}.delete-confirm-btn:hover{background-color:var(--danger-hover);box-shadow:0 2px 8px #ef444466}@keyframes modalPop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.sidebar{position:fixed;left:0;top:0;bottom:0;width:280px;min-width:280px;box-shadow:var(--shadow-lg);transform:translate(0)}.sidebar.collapsed{transform:translate(-100%);width:280px;min-width:280px}.sidebar-backdrop{display:block;position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:190;opacity:0;pointer-events:none;transition:opacity .25s ease}.sidebar-backdrop.visible{opacity:1;pointer-events:auto}}.chatWindow{background-color:var(--bg-main);height:100vh;flex:1;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.navbar{width:100%;height:60px;display:flex;justify-content:space-between;align-items:center;padding:0 1.5rem;border-bottom:1px solid var(--border-subtle);background-color:#0d0f12cc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;box-sizing:border-box}.navbar-left{display:flex;align-items:center;gap:.75rem}.sidebar-open-actions{display:flex;align-items:center;gap:.4rem;animation:fadeIn .2s ease-out}.nav-icon-btn{width:36px;height:36px;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--border-subtle);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:.9rem}.nav-icon-btn:hover{background-color:var(--bg-card-hover);color:var(--text-primary);border-color:#ffffff26}.model-selector-container{position:relative}.model-selector{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border-radius:var(--radius-full);background-color:var(--bg-card);border:1px solid var(--border-subtle);cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.model-selector:hover,.model-selector.active{background-color:var(--bg-card-hover);border-color:var(--border-focus)}.model-status-dot{width:8px;height:8px;border-radius:50%;background-color:#10b981;box-shadow:0 0 8px #10b98199}.model-name{font-weight:600;font-size:.875rem;color:var(--text-primary)}.model-version{font-size:.725rem;color:var(--text-muted);background-color:#ffffff0f;padding:2px 6px;border-radius:4px;font-weight:500}.model-chevron{font-size:.65rem;color:var(--text-muted);transition:transform .2s ease}.model-chevron.rotate{transform:rotate(180deg)}.model-dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;width:280px;background-color:var(--bg-modal);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.5rem;z-index:150;animation:dropdownPop .15s ease-out}.model-dropdown-header{padding:.4rem .6rem .5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);margin-bottom:.35rem}.model-options-list{display:flex;flex-direction:column;gap:4px}.model-option-card{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;border:1px solid transparent}.model-option-card:hover{background-color:var(--bg-card-hover)}.model-option-card.selected{background-color:#6366f11f;border-color:#6366f14d}.model-option-icon{width:32px;height:32px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--primary) 0%,#06b6d4 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}.model-option-info{display:flex;flex-direction:column;flex:1;min-width:0}.model-option-name-row{display:flex;align-items:center;gap:.4rem}.option-name{font-size:.85rem;font-weight:600;color:var(--text-primary)}.option-badge{font-size:.7rem;padding:1px 5px;border-radius:4px;background-color:#6366f133;color:var(--primary);font-weight:600}.option-desc{font-size:.725rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-check{color:var(--primary);font-size:.85rem}.navbar-right{position:relative;display:flex;align-items:center;gap:.75rem}.theme-toggle-btn{background-color:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-secondary);height:34px;width:34px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.95rem;transition:all .2s ease;box-shadow:var(--shadow-sm)}.theme-toggle-btn:hover{background-color:var(--bg-card-hover);color:var(--primary);border-color:var(--primary);transform:rotate(15deg) scale(1.05)}.userIconDiv{cursor:pointer}.userIcon{background:linear-gradient(135deg,#6366f1,#a855f7);height:34px;width:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.85rem;box-shadow:0 2px 8px #6366f14d;transition:all .2s ease;border:2px solid transparent}.userIconDiv.logged-in .user-initials{background:linear-gradient(135deg,#6366f1,#06b6d4);height:34px;width:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.825rem;font-weight:700;box-shadow:0 2px 8px #6366f159;transition:all .2s ease;border:2px solid rgba(255,255,255,.15)}.userIconDiv:hover{transform:scale(1.05)}.nav-login-btn{display:flex;align-items:center;gap:.45rem;background:linear-gradient(135deg,var(--primary) 0%,#4338ca 100%);border:none;color:#fff;padding:.45rem .9rem;border-radius:var(--radius-full);font-size:.825rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #6366f14d}.nav-login-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f173}.dropDown{position:absolute;top:calc(100% + 10px);right:0;width:220px;background-color:var(--bg-modal);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.5rem;z-index:100;animation:fadeIn .15s ease-out}.dropDownHeader{padding:.5rem .75rem;display:flex;flex-direction:column;gap:2px}.user-dropdown-name{font-size:.875rem;font-weight:600;color:var(--text-primary)}.dropDownHeader .user-email{font-size:.75rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropDownDivider{height:1px;background-color:var(--border-subtle);margin:.3rem 0}.dropDownItem{font-size:.875rem;padding:.6rem .75rem;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;gap:.6rem;color:var(--text-secondary);transition:all .15s ease}.dropDownItem:hover{background-color:#ffffff0f;color:var(--text-primary)}.dropDownItem.logout:hover{color:var(--danger);background-color:#ef44441a}.chatInputArea{width:100%;display:flex;flex-direction:column;align-items:center;padding:.75rem 1.25rem 1.25rem;background:linear-gradient(180deg,transparent,rgba(13,15,18,.8) 20%);box-sizing:border-box}.typing-indicator-bar{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem;font-size:.825rem;color:var(--text-secondary);animation:fadeIn .2s ease-in}.inputBox{width:100%;max-width:800px;position:relative;display:flex;align-items:center;background-color:var(--bg-input);border:1px solid var(--border-subtle);border-radius:24px;padding:4px 6px 4px 18px;transition:all .2s ease;box-shadow:0 4px 20px #0003}.inputBox:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px #6366f126,0 4px 20px #0000004d}input{width:100%;border:none;background:transparent;padding:12px 10px 12px 0;font-size:.95rem;color:var(--text-primary);font-family:inherit}input::placeholder{color:var(--text-muted)}input:focus{outline:none}.mic-btn{position:relative;height:36px;width:36px;min-width:36px;border-radius:50%;border:none;background-color:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.95rem;margin-right:4px;transition:all .2s ease}.mic-btn:hover{color:var(--primary);background-color:var(--bg-card-hover)}.mic-btn.listening{background-color:var(--danger);color:#fff;box-shadow:0 0 14px #ef444499}.mic-pulse-ring{position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--danger);animation:micPulse 1.2s infinite cubic-bezier(.25,0,.45,1);pointer-events:none}@keyframes micPulse{0%{transform:scale(.9);opacity:1}to{transform:scale(1.6);opacity:0}}#submit{height:36px;width:36px;min-width:36px;border-radius:50%;border:none;background-color:#ffffff14;color:var(--text-muted);cursor:not-allowed;display:flex;align-items:center;justify-content:center;font-size:.95rem;transition:all .2s cubic-bezier(.4,0,.2,1)}#submit.active{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;cursor:pointer;box-shadow:0 2px 10px #6366f166}#submit.active:hover{transform:scale(1.05);box-shadow:0 4px 14px #6366f180}.info{font-size:.75rem;padding-top:.6rem;color:var(--text-muted);text-align:center}@keyframes dropdownPop{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-container{flex:1;width:100%;max-width:850px;height:100%;margin:0 auto;overflow-y:auto;padding:1.5rem 1.25rem;display:flex;flex-direction:column;box-sizing:border-box}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1rem;animation:fadeIn .4s ease-out}.hero-badge{width:60px;height:60px;border-radius:var(--radius-full);background:linear-gradient(135deg,#6366f133,#06b6d433);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;box-shadow:var(--shadow-glow)}.hero-logo{width:34px;height:34px;border-radius:var(--radius-full);background:#fff}.hero-title{font-size:2rem;font-weight:700;margin-bottom:.5rem;background:var(--hero-title-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em}.hero-subtitle{font-size:.95rem;color:var(--text-secondary);max-width:460px;margin-bottom:2.5rem;line-height:1.5}.suggestions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem;width:100%;max-width:650px}.suggestion-card{background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1rem;text-align:left;cursor:pointer;transition:all .2s ease}.suggestion-card:hover{background-color:var(--bg-card-hover);border-color:var(--border-focus);transform:translateY(-2px);box-shadow:var(--shadow-md)}.suggestion-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.suggestion-icon{font-size:.9rem;color:var(--primary)}.suggestion-card-title{font-weight:600;font-size:.875rem;color:var(--text-primary)}.suggestion-card-desc{font-size:.8rem;color:var(--text-muted);line-height:1.4}.messages-list{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:1.5rem}.message-row{display:flex;gap:1rem;width:100%;animation:messageSlideIn .25s ease-out}.message-row.user-row{flex-direction:row-reverse}.avatar-wrapper{flex-shrink:0}.user-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:linear-gradient(135deg,#4f46e5,#06b6d4);display:flex;align-items:center;justify-content:center;font-size:.8rem;color:#fff;box-shadow:0 2px 6px #0003}.gpt-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 2px 6px #0003}.gpt-avatar img{width:22px;height:22px;object-fit:cover}.message-content{max-width:80%}.user-row .message-content{display:flex;justify-content:flex-end}.user-text{background-color:var(--bg-user-bubble);border:1px solid rgba(255,255,255,.08);color:var(--text-primary);padding:.75rem 1.15rem;border-radius:18px 18px 4px;font-size:.925rem;line-height:1.55;word-break:break-word;box-shadow:var(--shadow-sm)}.markdown-body{color:var(--text-primary);font-size:.935rem;line-height:1.68;text-align:left;word-break:break-word}.markdown-body p{margin-bottom:.85rem}.markdown-body p:last-child{margin-bottom:0}.markdown-body strong{color:var(--text-primary);font-weight:600}.markdown-body em{color:var(--text-secondary)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{color:var(--text-primary);margin:1.4rem 0 .6rem;font-weight:600;letter-spacing:-.01em}.markdown-body h1{font-size:1.35rem}.markdown-body h2{font-size:1.2rem}.markdown-body h3{font-size:1.05rem}.markdown-body h4{font-size:.95rem}.markdown-body ul,.markdown-body ol{margin:.6rem 0 .85rem 1.4rem;padding-left:.2rem}.markdown-body li{margin-bottom:.4rem;line-height:1.6}.markdown-body a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}.markdown-body blockquote{border-left:3px solid var(--primary);padding:.4rem 0 .4rem 1rem;margin:.85rem 0;color:var(--text-secondary);background:#6366f10d;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.markdown-body hr{border:none;border-top:1px solid var(--border-subtle);margin:1.5rem 0}.table-responsive-wrapper{width:100%;overflow-x:auto;margin:1.25rem 0;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background-color:var(--bg-card);box-shadow:var(--shadow-sm);-webkit-overflow-scrolling:touch}.markdown-body table{border-collapse:collapse;width:100%;min-width:520px;margin:0;font-size:.875rem;border:none;display:table}.markdown-body thead{background-color:var(--table-head-bg)}.markdown-body th{background-color:var(--table-head-bg);color:var(--text-primary);font-weight:600;padding:.75rem 1.1rem;border-bottom:2px solid var(--border-subtle);border-right:1px solid var(--border-subtle);text-align:left;white-space:nowrap;word-break:normal;-webkit-hyphens:none;hyphens:none}.markdown-body th:last-child{border-right:none}.markdown-body td{border-bottom:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);padding:.75rem 1.1rem;text-align:left;vertical-align:top;color:var(--text-primary);word-break:normal;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;line-height:1.6}.markdown-body tr:last-child td{border-bottom:none}.markdown-body td:last-child{border-right:none}.markdown-body td:first-child,.markdown-body th:first-child{min-width:150px;font-weight:500}.markdown-body tbody tr:nth-child(2n){background-color:#ffffff05}.markdown-body tbody tr:hover{background-color:#ffffff0a}.scroll-bottom-btn{position:absolute;bottom:95px;right:2rem;width:38px;height:38px;border-radius:50%;background-color:var(--bg-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-subtle);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-md);transition:all .2s ease;z-index:50;animation:fadeIn .2s ease-out}.scroll-bottom-btn:hover{background-color:var(--primary);color:#fff;transform:translateY(-2px);box-shadow:0 4px 14px #6366f166;border-color:var(--primary)}.message-actions-bar{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding-top:.35rem}.msg-action-btn{display:inline-flex;align-items:center;gap:.35rem;background:transparent;border:1px solid var(--border-subtle);color:var(--text-muted);padding:3px 8px;border-radius:var(--radius-sm);font-size:.75rem;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.msg-action-btn:hover{background-color:var(--bg-card-hover);color:var(--text-primary);border-color:#ffffff26}.msg-action-btn.active{background-color:#ef444426;color:var(--danger);border-color:#ef444459}.msg-action-btn.copied{background-color:#10b98126;color:#10b981;border-color:#10b98159}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.suggestions-grid{grid-template-columns:1fr}.hero-title{font-size:1.5rem}.message-content{max-width:88%}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-formula{color:#c678dd}.hljs-section,.hljs-name,.hljs-selector-tag,.hljs-deletion,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string{color:#98c379}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-type,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number{color:#d19a66}.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-title.class_,.hljs-class .hljs-title{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}.auth-modal-overlay{position:fixed;inset:0;background-color:var(--bg-modal-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:3000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .2s ease-out}.auth-modal-card{background-color:var(--bg-modal);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:420px;padding:2rem;position:relative;box-shadow:var(--shadow-lg);animation:modalPop .2s cubic-bezier(.34,1.56,.64,1);box-sizing:border-box}.auth-modal-close{position:absolute;top:1.25rem;right:1.25rem;background:transparent;border:none;color:var(--text-muted);font-size:1.1rem;cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:all .15s ease;display:flex;align-items:center;justify-content:center}.auth-modal-close:hover{color:var(--text-primary);background-color:var(--bg-card-hover)}.auth-modal-header{text-align:center;margin-bottom:1.5rem}.auth-logo-badge{width:46px;height:46px;border-radius:var(--radius-full);background:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto .75rem;box-shadow:var(--shadow-glow)}.auth-logo-badge img{width:28px;height:28px}.auth-modal-header h2{font-size:1.35rem;font-weight:700;color:var(--text-primary);margin:0 0 .35rem;letter-spacing:-.01em}.auth-modal-header p{font-size:.85rem;color:var(--text-secondary);margin:0;line-height:1.4}.auth-tabs{display:flex;background-color:var(--bg-card-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:3px;margin-bottom:1.25rem;gap:4px}.auth-tab{flex:1;background:transparent;border:none;color:var(--text-muted);padding:.5rem 0;font-size:.875rem;font-weight:600;border-radius:calc(var(--radius-sm) - 2px);cursor:pointer;transition:all .15s ease}.auth-tab.active{background-color:var(--primary);color:#fff;box-shadow:0 2px 6px #6366f14d}.auth-error-banner{background-color:#ef444426;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:.65rem .85rem;border-radius:var(--radius-sm);font-size:.825rem;display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem;animation:fadeIn .15s ease-out}.social-auth-container{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.25rem}.social-auth-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.65rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid var(--border-subtle);background-color:var(--bg-card);color:var(--text-primary);box-sizing:border-box}.social-auth-btn:hover:not(:disabled){background-color:var(--bg-card-hover);border-color:#fff3;transform:translateY(-1px)}.social-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.google-btn:hover:not(:disabled){border-color:#4285f466;box-shadow:0 2px 8px #4285f426}.github-btn:hover:not(:disabled){border-color:#ffffff4d}.auth-divider{display:flex;align-items:center;text-align:center;margin-bottom:1.25rem;color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.05em}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-subtle)}.auth-divider span{padding:0 .75rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-field{display:flex;flex-direction:column;gap:.35rem;text-align:left}.auth-field label{font-size:.8rem;font-weight:500;color:var(--text-secondary)}.auth-input-wrapper{position:relative;display:flex;align-items:center}.auth-input-wrapper .input-icon{position:absolute;left:.85rem;color:var(--text-muted);font-size:.9rem;pointer-events:none}.auth-input-wrapper input{width:100%;background-color:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.65rem 2.2rem .65rem 2.3rem;color:var(--text-primary);font-size:.9rem;font-family:inherit;transition:all .2s ease;box-sizing:border-box}.auth-input-wrapper input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #6366f133}.toggle-password-btn{position:absolute;right:.75rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:.85rem;padding:2px}.toggle-password-btn:hover{color:#fff}.auth-submit-btn{margin-top:.5rem;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);border:none;color:#fff;font-weight:600;font-size:.925rem;padding:.75rem 1rem;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;height:42px;box-shadow:0 4px 12px #6366f159}.auth-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #6366f173}.auth-submit-btn:disabled{opacity:.7;cursor:not-allowed}.auth-modal-footer{text-align:center;margin-top:1.25rem;font-size:.825rem;color:var(--text-secondary)}.auth-modal-footer p{margin:0}.auth-link-btn{background:transparent;border:none;color:var(--primary);font-weight:600;cursor:pointer;padding:0;font-size:inherit;text-decoration:underline;text-underline-offset:2px}.auth-link-btn:hover{color:#a5b4fc}
