.glossary-sidebar::-webkit-scrollbar{width:8px}.glossary-sidebar::-webkit-scrollbar-track{background:#e6f5fa0d}.glossary-sidebar::-webkit-scrollbar-thumb{background:#00d4ff4d;border-radius:4px}.glossary-sidebar::-webkit-scrollbar-thumb:hover{background:#00d4ff80}.glossary-sidebar{width:320px;min-width:320px;max-width:320px;background:#050814;border-left:1px solid rgba(230,245,250,.1);display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0;height:100%}.glossary-header{padding:1rem 1.25rem;border-bottom:1px solid rgba(230,245,250,.1);display:flex;align-items:center;justify-content:space-between;background:#0003;position:sticky;top:0;z-index:10}.glossary-header h3{margin:0;font-size:1rem;font-weight:600;color:#e6f5fa}.glossary-count{background:#00d4ff33;color:#00d4ff;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600}.glossary-terms{padding:.75rem;display:flex;flex-direction:column;gap:1rem}.glossary-empty{padding:1rem;text-align:center;color:#e6f5fa80;font-size:.875rem;font-style:italic}.glossary-term{background:#0003;border:1px solid rgba(230,245,250,.08);border-radius:8px;padding:.875rem;transition:all .2s}.glossary-term:hover{border-color:#00d4ff33;background:#00d4ff0d}.term-header{margin-bottom:.5rem}.term-title{font-size:.9375rem;color:#e6f5fa;line-height:1.4}.term-article{color:#e6f5fa99;font-style:italic;margin-right:.125rem}.term-title strong{color:#00d4ff;font-weight:600}.term-short{font-size:.875rem;color:#e6f5fac7;line-height:1.5;margin-bottom:.5rem}.term-toggle{background:transparent;border:1px solid rgba(0,212,255,.3);color:#00d4ff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s;margin-top:.25rem}.term-toggle:hover{background:#00d4ff1a;border-color:#00d4ff80}.term-expanded{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(230,245,250,.08);display:flex;flex-direction:column;gap:.5rem;font-size:.8125rem;color:#e6f5faa6;line-height:1.5}.term-canonical strong,.term-refs strong{color:#e6f5fad9;margin-right:.5rem}@media (max-width: 1024px){.glossary-sidebar{display:none}}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#050814;padding:2rem}.login-box{background:#1e2c42;border:1px solid rgba(230,245,250,.18);border-radius:12px;padding:2.5rem;width:100%;max-width:400px;box-shadow:0 4px 20px #0000004d}.login-header{text-align:center;margin-bottom:2rem}.login-logo{height:60px;width:auto;margin-bottom:1rem}.login-header h1{font-size:1.75rem;font-weight:700;color:#f8f1e8;margin:0}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-button{padding:.75rem 1.5rem;background:#00d4ff26;border:1px solid rgba(0,212,255,.3);color:#00d4ff;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:.5rem}.login-button:hover:not(:disabled){background:#00d4ff40;border-color:#00d4ff80}.login-button:disabled{opacity:.6;cursor:not-allowed}.invite-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#050814;padding:2rem}.invite-box{background:#1e2c42;border:1px solid rgba(230,245,250,.18);border-radius:12px;padding:2.5rem;width:100%;max-width:450px;box-shadow:0 4px 20px #0000004d}.invite-header{text-align:center;margin-bottom:2rem}.invite-logo{height:60px;width:auto;margin-bottom:1rem}.invite-header h1{font-size:1.75rem;font-weight:700;color:#f8f1e8;margin:0 0 .5rem}.invite-subtitle{font-size:.9rem;color:#e6f5fa99;margin:0}.invite-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;font-weight:500;color:#e6f5fac7}.form-group input{padding:.75rem;background:#e6f5fa0d;border:1px solid rgba(230,245,250,.18);border-radius:6px;color:#f8f1e8;font-size:1rem;font-family:system-ui,-apple-system,sans-serif;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#00d4ff80;background:#e6f5fa14}.form-group input::placeholder{color:#e6f5fa66}.error-message{padding:.75rem;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#ef4444;font-size:.9rem;text-align:center}.invite-button{padding:.75rem 1.5rem;background:#00d4ff26;border:1px solid rgba(0,212,255,.3);color:#00d4ff;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:.5rem}.invite-button:hover:not(:disabled){background:#00d4ff40;border-color:#00d4ff80}.invite-button:disabled{opacity:.6;cursor:not-allowed}.app{display:flex;flex-direction:column;height:100vh;width:100%;background:#050814}.header{padding:1rem 1.5rem;border-bottom:1px solid rgba(230,245,250,.08);display:flex;justify-content:space-between;align-items:center;background:#39342b}.header-left{display:flex;align-items:center;gap:.75rem}.header-logo{height:60px;width:auto;display:block}.header h1{font-size:1.5rem;font-weight:700;color:#f8f1e8;font-family:system-ui,-apple-system,sans-serif;margin:0}.header-right{display:flex;align-items:center;gap:1rem}.debug-toggle{width:24px;height:24px;border-radius:50%;border:1px solid rgba(0,212,255,.3);background:#00d4ff26;color:#00d4ff;cursor:pointer;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .2s}.debug-toggle:hover{background:#00d4ff40}.meta-info{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#e6f5fac7}.badge{padding:.25rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.badge-no-web{background:#ff980033;border:1px solid rgba(255,152,0,.4);color:#ff9800}.badge-public-only{background:#4caf5033;border:1px solid rgba(76,175,80,.4);color:#4caf50;font-size:.7rem;margin-right:.5rem}.profile-selector-wrapper{display:flex;flex-direction:column;gap:.25rem}.profile-label{font-size:.75rem;color:#e6f5fac7;font-weight:500}.profile-selector{padding:.4rem .75rem;border:1px solid rgba(230,245,250,.18);background:#1e2c42;color:#e6f5fa;border-radius:6px;font-size:.875rem;cursor:pointer;font-family:system-ui,-apple-system,sans-serif;margin-right:.5rem}.profile-selector:hover{background:#050814;border-color:#00d4ff4d}.profile-selector:focus{outline:none;border-color:#00d4ff80}.profile-help-text{font-size:.65rem;color:#e6f5fa80;font-style:italic;margin-top:-.1rem}.badge-profile-active{background:#00d4ff26;border:1px solid rgba(0,212,255,.3);color:#00d4ff;font-size:.7rem;margin-left:.5rem}.badge-admin{background:#ff980026;border:1px solid rgba(255,152,0,.3);color:#ff9800;font-size:.65rem;margin-left:.5rem}.user-info{font-size:.85rem;color:#e6f5fac7;margin-right:.75rem}.user-info strong{color:#f8f1e8;font-weight:600}.new-chat-button{padding:.4rem .75rem;background:#00d4ff26;border:1px solid rgba(0,212,255,.3);color:#00d4ff;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .2s;margin-left:.5rem}.new-chat-button:hover{background:#00d4ff40;border-color:#00d4ff80}.logout-button{padding:.4rem .75rem;background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#ef4444;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .2s;margin-left:.5rem}.logout-button:hover{background:#ef444440;border-color:#ef444480}.meta-item{padding:.25rem .5rem;background:#e6f5fa14;border-radius:4px;font-family:Courier New,monospace}.meta-version{color:#e6f5fa8c}.debug-panel{padding:.75rem 1.5rem;background:#1e2c42;border-bottom:1px solid rgba(230,245,250,.08);font-size:.75rem;color:#e6f5fac7}.debug-content{display:flex;flex-direction:column;gap:.25rem}.debug-content strong{color:#00d4ff;margin-bottom:.25rem}.mode-controls{position:relative}.advanced-toggle{padding:.5rem .75rem;border:1px solid rgba(230,245,250,.18);background:#1e2c42;color:#e6f5fa;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .2s cubic-bezier(.4,0,.2,1);font-family:system-ui,-apple-system,sans-serif}.advanced-toggle:hover{background:#050814;border-color:#00d4ff4d}.advanced-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;background:#1e2c42;border:1px solid rgba(230,245,250,.18);border-radius:8px;padding:.5rem;display:flex;flex-direction:column;gap:.25rem;min-width:120px;z-index:100;box-shadow:0 4px 12px #0000004d}.mode-option{padding:.5rem .75rem;border:none;background:transparent;color:#e6f5fa;border-radius:4px;cursor:pointer;font-size:.875rem;text-align:left;transition:all .2s;font-family:system-ui,-apple-system,sans-serif}.mode-option:hover{background:#050814}.mode-option.active{background:#00d4ff26;color:#00d4ff}.chat-container-wrapper{flex:1;display:flex;overflow:hidden;background:#0d1620}.chat-sidebar{width:260px;background:#050814;border-right:1px solid rgba(230,245,250,.08);display:flex;flex-direction:column;overflow:hidden}.sidebar-header{padding:1rem;border-bottom:1px solid rgba(230,245,250,.08)}.sidebar-new-chat-button{width:100%;padding:.75rem 1rem;background:#00d4ff26;border:1px solid rgba(0,212,255,.3);color:#00d4ff;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s;font-family:system-ui,-apple-system,sans-serif}.sidebar-new-chat-button:hover{background:#00d4ff40;border-color:#00d4ff80}.sidebar-button-icon{font-size:1.2rem;font-weight:300;line-height:1}.sidebar-sessions{flex:1;overflow-y:auto;padding:.5rem}.sidebar-loading,.sidebar-empty{padding:1rem;text-align:center;color:#e6f5fa80;font-size:.85rem}.sidebar-session-item{width:100%;padding:.75rem 1rem;background:transparent;border:none;border-radius:8px;text-align:left;cursor:pointer;transition:all .2s;margin-bottom:.25rem;font-family:system-ui,-apple-system,sans-serif}.sidebar-session-item:hover{background:#e6f5fa0d}.sidebar-session-item.active{background:#00d4ff1a;border:1px solid rgba(0,212,255,.2)}.session-item-title{color:#e6f5fae6;font-size:.9rem;font-weight:500;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-item-time{color:#e6f5fa80;font-size:.75rem}.sidebar-session-item.active .session-item-title{color:#00d4ff}.chat-container{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#0d1620;min-width:0;position:relative}.scroll-to-end-button{position:fixed;bottom:8rem;left:50%;transform:translate(-50%);width:40px;height:40px;border-radius:50%;background:#00d4ff40;border:1px solid rgba(0,212,255,.4);color:#00d4ff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 12px #0006;opacity:1;pointer-events:auto}.scroll-to-end-button:hover{background:#00d4ff4d;border-color:#00d4ff80;transform:translate(-50%) translateY(-2px);box-shadow:0 6px 16px #00d4ff33}.scroll-to-end-button:active{transform:translate(-50%) translateY(0)}.messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem;position:relative}.welcome{text-align:center;color:#e6f5fac7;padding:3rem 1rem}.welcome p{margin:.5rem 0;font-size:1.1rem}.message{display:flex;flex-direction:column;padding:1rem;border-radius:8px;background:#e6f5fa0d;border-left:3px solid #00D4FF;margin-bottom:1rem}.message.user{border-left-color:#e6f5fa4d;background:#648cb433}.message.bot{border-left-color:#00d4ff;background:#e6f5fa0d}.message.bot .message-content{color:#c8e6fff2}.message.system{align-self:center;background:#ff98001a;border:1px solid rgba(255,152,0,.3);color:#ff9800cc;font-size:.875rem;font-style:italic}.message.thinking{opacity:.8}.typing-dots{display:inline-flex;gap:.25rem;align-items:center}.typing-dots span{width:8px;height:8px;border-radius:50%;background:#00d4ff;animation:typing-dot 1.4s infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing-dot{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.message-header{display:flex;gap:1rem;margin-bottom:.75rem;font-size:.8rem;color:#94a3b8;align-items:center;position:relative}.message-copy-button{margin-left:auto;padding:.25rem .5rem;background:transparent;border:none;color:#e6f5fa80;cursor:pointer;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center;opacity:0}.message:hover .message-copy-button{opacity:1}.message-copy-button:hover{background:#e6f5fa1a;color:#e6f5fae6}.message-copy-button:active{transform:scale(.95)}.message-role{font-weight:600;text-transform:uppercase;color:#00d4ff}.message.user .message-role{color:#e6f5fac7}.message-content{color:#f8f1e8;line-height:1.6;word-wrap:break-word}.message-content>*{display:block}.message-text{white-space:pre-wrap;word-wrap:break-word}.message-content p{margin:.5rem 0}.message-content p:first-child{margin-top:0}.message-content p:last-child{margin-bottom:0}.message-content strong{font-weight:700!important;color:#f8f1e8!important}.message-content em{font-style:italic!important;color:#e6f5fae6!important}.message-content code{background:#0000004d;padding:.2rem .4rem;border-radius:4px;font-family:Courier New,monospace;font-size:.9em;color:#00d4ff}.message-content pre{background:#0006;padding:.75rem 1rem;border-radius:6px;overflow-x:auto;margin:.75rem 0;border:1px solid rgba(0,212,255,.2)}.message-content pre code{background:transparent;padding:0;color:#e6f5fa;font-size:.875rem}.message-content ul,.message-content ol{margin:.75rem 0!important;padding-left:1.5rem!important;list-style-type:disc!important;display:block!important}.message-content ul ul{list-style-type:circle!important}.message-content ul ul ul{list-style-type:square!important}.message-content ol{list-style-type:decimal!important}.message-content li{margin:.25rem 0!important;display:list-item!important}.message-content h1,.message-content h2,.message-content h3,.message-content h4,.message-content h5,.message-content h6{margin:1rem 0 .5rem!important;color:#f8f1e8!important;font-weight:700!important;display:block!important}.message-content h3{color:#00d4ff!important}.message-content h1{font-size:1.5rem!important}.message-content h2{font-size:1.3rem!important}.message-content h3{font-size:1.1rem!important;margin-top:1.25rem!important}.message-content h4{font-size:1rem!important}.message-content h5{font-size:.95rem!important}.message-content h6{font-size:.9rem!important}.message-content code{background:#0000004d!important;padding:.2rem .4rem!important;border-radius:4px!important;font-family:Courier New,monospace!important;font-size:.9em!important;color:#00d4ff!important;display:inline!important}.message-content a{color:#00d4ff;text-decoration:underline;text-decoration-color:#00d4ff80}.message-content a:hover{color:#00d4ff;text-decoration-color:#00d4ffcc}.message-content blockquote{border-left:3px solid rgba(0,212,255,.3);padding-left:1rem;margin:.75rem 0;color:#e6f5fad9;font-style:italic}.message-content hr{border:none;border-top:1px solid rgba(230,245,250,.1);margin:1rem 0}.message-content table{border-collapse:collapse;margin:.75rem 0;width:100%}.message-content th,.message-content td{border:1px solid rgba(230,245,250,.1);padding:.5rem;text-align:left}.message-content th{background:#00d4ff1a;font-weight:600;color:#00d4ff}.message-time{color:#e6f5fa80}.message-mode{background:#e6f5fa14;padding:.2rem .5rem;border-radius:3px;font-size:.75rem;color:#e6f5fac7}.input-area{padding:1rem 1.5rem;border-top:1px solid rgba(230,245,250,.08);background:#39342b;display:flex;gap:.75rem}.input-area textarea{flex:1;padding:.75rem;border:1px solid rgba(230,245,250,.18);border-radius:8px;background:#1e2c42;color:#e6f5fa;font-family:inherit;font-size:.875rem;resize:none}.input-area textarea:focus{outline:none;border-color:#00d4ff4d;background:#050814}.input-area button{padding:.75rem 1.5rem;border:1px solid rgba(0,212,255,.3);border-radius:8px;background:#00d4ff26;color:#00d4ff;cursor:pointer;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);font-family:system-ui,-apple-system,sans-serif;position:relative;overflow:hidden}.input-area button:hover:not(:disabled){background:#00d4ff40;border-color:#00d4ff80}.input-area button:disabled{opacity:.5;cursor:not-allowed}.input-area button.send-btn{position:relative;overflow:hidden}.input-area button.send-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#00d4ff66;transform:translate(-50%,-50%);transition:width .5s ease-out,height .5s ease-out,opacity .5s ease-out;opacity:0;pointer-events:none;z-index:0}.input-area button.send-btn:active:before{width:400px;height:400px;opacity:1;transition:width .5s ease-out,height .5s ease-out,opacity .5s ease-out}.input-area button.send-btn span{position:relative;z-index:1}.input-area button.send-btn:active{transform:scale(.97)}.stop-btn{background:#ff572233!important;border-color:#ff572280!important;color:#ff5722!important;animation:pulse-stop 1.5s ease-in-out infinite}@keyframes pulse-stop{0%,to{box-shadow:0 0 #ff572266}50%{box-shadow:0 0 0 8px #ff572200}}.stop-btn:hover:not(:disabled){background:#ff57224d!important;border-color:#ff5722b3!important}.messages::-webkit-scrollbar,.sidebar-sessions::-webkit-scrollbar,.chat-sidebar::-webkit-scrollbar{width:8px}.messages::-webkit-scrollbar-track,.sidebar-sessions::-webkit-scrollbar-track,.chat-sidebar::-webkit-scrollbar-track{background:#e6f5fa0d}.messages::-webkit-scrollbar-thumb,.sidebar-sessions::-webkit-scrollbar-thumb,.chat-sidebar::-webkit-scrollbar-thumb{background:#00d4ff4d;border-radius:4px}.messages::-webkit-scrollbar-thumb:hover,.sidebar-sessions::-webkit-scrollbar-thumb:hover,.chat-sidebar::-webkit-scrollbar-thumb:hover{background:#00d4ff80}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#050814;color:#e0e0e0}#root{width:100%;height:100vh;overflow:hidden}
