.message{display:flex;gap:1rem;margin-bottom:1.5rem;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-user{flex-direction:row-reverse}.message-assistant{flex-direction:row}.message-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.2);flex-shrink:0}.message-user .message-avatar{border-color:#e94560}.message-assistant .message-avatar{border-color:#0f3460}.message-content{max-width:70%;padding:1rem 1.5rem;border-radius:18px;line-height:1.6}.message-user .message-content{background:#0f3460;color:#fff;border-bottom-right-radius:4px}.message-assistant .message-content{background:#16213e;color:#fffffff2;border-bottom-left-radius:4px}.message-content p{margin-bottom:.5rem}.message-content p:last-child{margin-bottom:0}.message-content code{background:#0000004d;padding:.2rem .4rem;border-radius:4px;font-family:Courier New,monospace}.message-sources{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.sources-label{font-size:.85rem;color:#e94560;font-weight:600;margin-right:.25rem}@media (max-width: 768px){.message-content{max-width:85%}.message-avatar{width:35px;height:35px}}.chat-container{display:flex;flex-direction:column;width:100%;max-width:1000px;height:calc(100vh - 280px);background:#16213e99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;border:1px solid rgba(255,255,255,.1);overflow:hidden;box-shadow:0 8px 32px #0000004d}.messages{flex:1;overflow-y:auto;padding:2rem;display:flex;flex-direction:column}.messages::-webkit-scrollbar{width:8px}.messages::-webkit-scrollbar-track{background:#ffffff0d;border-radius:10px}.messages::-webkit-scrollbar-thumb{background:#0f3460;border-radius:10px}.welcome-message{text-align:center;padding:3rem 2rem;color:#a0a0a0}.welcome-message h2{margin-bottom:1rem;font-size:2rem;color:#eaeaea}.welcome-message p{font-size:1.1rem;margin-bottom:2rem}.example-questions{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:2rem}.example-questions button{padding:1rem;background:#0f346066;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#ffffffe6;cursor:pointer;transition:all .3s;text-align:left;font-size:.95rem}.example-questions button:hover{background:#0f346099;border-color:#e94560;transform:translateY(-2px)}.loading-indicator{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:#16213e;border-radius:18px 18px 18px 4px;max-width:fit-content;animation:slideIn .3s ease}.loading-indicator span{color:#ffffffb3;font-style:italic}.chat-input-form{display:flex;gap:1rem;padding:1.5rem 2rem;background:#1a1a2ecc;border-top:1px solid rgba(255,255,255,.1);align-items:center}.chat-input{flex:1;padding:1rem 1.5rem;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:25px;color:#fff;font-size:1rem;font-family:inherit;transition:all .3s;resize:none;min-height:50px;max-height:150px}.chat-input:focus{outline:none;border-color:#e94560;background:#ffffff14}.chat-input::placeholder{color:#777}.chat-submit{padding:1rem 2rem;background:#e94560;border:none;border-radius:25px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.chat-submit:hover:not(:disabled){background:#f57;transform:translateY(-2px);box-shadow:0 4px 12px #e9456066}.chat-submit:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.chat-container{height:calc(100vh - 240px)}.messages{padding:1rem}.example-questions{grid-template-columns:1fr}.chat-input-form,.chat-submit{padding:1rem}}.sources-container{n padding: 1.5rem;n border-radius: 16px;n backdrop-filter: blur(12px);n background: rgba(255,255,255,.06);n box-shadow: 0 0 12px rgba(0,0,0,.4);n max-width: 960px;n margin: 0 auto;n}nn.sources-container h2{n margin-top: 0;n font-weight: 600;n}nn.sources-list{n list-style: none;n padding-left: 0;n margin: 1rem 0;n display: flex;n flex-direction: column;n gap: .5rem;n}nn.sources-list li a{n color: #7fb3ff;n text-decoration: none;n word-break: break-all;n}nn.sources-list li a:hover{n text-decoration: underline;n}nn.app-nav{n display: flex;n gap: 1rem;n margin-top: .75rem;n}nn.nav-link{n color: #cdd9ff;n text-decoration: none;n padding: .4rem .8rem;n border-radius: 8px;n background: rgba(255,255,255,.08);n transition: background .15s;n font-size: .9rem;n}nn.nav-link:hover{n background: rgba(255,255,255,.18);n}n*{margin:0;padding:0;box-sizing:border-box}body,html{min-height:100vh;background:#0a0a23}.space-bg{position:relative;min-height:100vh;background:linear-gradient(135deg,#0a0a23,#1a1a2e 60%,#2d2dff),url(../src/photos/_MG_1802_Original.jpg) center center / cover no-repeat;background-blend-mode:lighten,normal;overflow:hidden}.starfield{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:0;background:transparent}.starfield:before,.starfield:after{content:"";position:absolute;width:200vw;height:200vh;left:-50vw;top:-50vh;background:transparent url(https://raw.githubusercontent.com/JulianLaval/canvas-starfield/master/starfield.png) repeat;opacity:.18;animation:moveStars 120s linear infinite}.starfield:after{opacity:.08;filter:blur(2px);animation-duration:200s}@keyframes moveStars{0%{transform:translateY(0)}to{transform:translateY(-200px)}}.space-glass{background:#1a1a2eb3;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);border-radius:18px;box-shadow:0 8px 32px #0006;border:1.5px solid rgba(255,255,255,.08)}.futuristic-title{font-family:Orbitron,Segoe UI,Arial,sans-serif;letter-spacing:2px;color:#7df9ff;text-shadow:0 0 8px #2d2dff,0 0 24px #7df9ff}.hologram{filter:drop-shadow(0 0 12px #7df9ff) brightness(1.2) contrast(1.1);border:3px solid #7df9ff;animation:holo-flicker 2.5s infinite alternate}@keyframes holo-flicker{0%{filter:drop-shadow(0 0 8px #7df9ff) brightness(1.1)}to{filter:drop-shadow(0 0 16px #7df9ff) brightness(1.3)}}:root{--primary-color: #1a1a2e;--secondary-color: #16213e;--accent-color: #2d2dff;--highlight-color: #7df9ff;--text-color: #eaeaea}.app{display:flex;flex-direction:column;min-height:100vh;color:var(--text-color);font-family:Orbitron,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;position:relative;z-index:1}.app-header{padding:1.5rem 2rem;border-bottom:2px solid var(--accent-color);box-shadow:0 4px 20px #0000004d;z-index:2}.header-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.ndt-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;margin-right:1rem}.header-text{flex:1;min-width:200px}.app-header h1{font-size:2.1rem;font-weight:700;margin-bottom:.25rem;color:var(--text-color)}.header-quote{color:#a0a0a0;font-size:.95rem;font-style:italic}.status-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#2d2dff2e;border-radius:20px;box-shadow:0 0 8px #7df9ff44}.status-dot{width:10px;height:10px;border-radius:50%;background:#7df9ff;animation:pulse 2s infinite;box-shadow:0 0 8px #7df9ff,0 0 16px #2d2dff}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.auth-button{background:linear-gradient(135deg,#2d2dff,#7df9ff);color:#fff;border:none;padding:.5rem 1rem;margin-left:.5rem;border-radius:8px;cursor:pointer;font-family:Orbitron,sans-serif;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;transition:all .3s ease;box-shadow:0 4px 12px #2d2dff4d}.auth-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #7df9ff80;background:linear-gradient(135deg,#7df9ff,#2d2dff)}.app-main{flex:1;display:flex;justify-content:center;padding:2rem;max-width:1200px;width:100%;margin:0 auto;z-index:2}.app-footer{text-align:center;padding:1.5rem;color:#ffffff80;font-size:.9rem;border-top:1px solid rgba(255,255,255,.1);background:#1a1a2e99;z-index:2}@media (max-width: 768px){.app-header{padding:1rem}.header-content{justify-content:center;text-align:center}.app-header h1{font-size:1.4rem}.header-quote{font-size:.85rem}.status-indicator{margin:0 auto}.app-main{padding:1rem}}:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#1a1a2e;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;min-height:100vh;overflow-x:hidden}#root{max-width:100%;margin:0 auto;min-height:100vh}
