*{box-sizing:border-box}*,body,html{padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;min-height:100vh}body{color:#f5f5f5;padding:0;background:#1a1a1a}.container{max-width:900px;margin:20px auto;background:#2d2d2d;border:1px solid #404040;border-radius:12px;min-height:calc(100vh - 40px);display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(0,0,0,.3)}.header{background:#1a1a1a;color:#fff;padding:30px;text-align:center;border-bottom:1px solid #404040;border-radius:12px 12px 0 0;display:flex;align-items:center;justify-content:center;position:relative}.header h1{font-size:2rem;margin:0;font-weight:600;letter-spacing:-.02em}.chat-container{flex:1 1;display:flex;flex-direction:column;padding:30px;overflow:hidden;background:#2d2d2d}.messages{flex:1 1;overflow-y:auto;padding:20px 0;margin-bottom:20px}.message{margin-bottom:20px;padding:18px 20px;border-radius:12px;max-width:80%;word-wrap:break-word;transition:all .3s ease}.message.user{background:#404040;color:#f5f5f5;margin-left:auto;text-align:right;border:1px solid #505050}.message.assistant{background:#353535;color:#e0e0e0;margin-right:auto;border:1px solid #454545}.message-label{font-weight:600;font-size:.75rem;margin-bottom:8px;color:#b0b0b0;text-transform:uppercase;letter-spacing:.5px}.suggested-prompts{margin:30px 0;padding:20px 0}.suggested-prompts-label{font-size:.85rem;color:#b0b0b0;margin-bottom:15px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.prompts-grid{display:flex;flex-wrap:wrap;gap:10px}.prompt-button{padding:12px 20px;background:#353535;color:#e0e0e0;border:1px solid #454545;border-radius:8px;font-size:.95rem;cursor:pointer;transition:all .2s ease;font-weight:400}.prompt-button:hover:not(:disabled){background:#404040;border-color:#505050;color:#fff;transform:translateY(-1px)}.prompt-button:active:not(:disabled){transform:translateY(0)}.prompt-button:disabled{opacity:.5;cursor:not-allowed}.input-container{display:flex;gap:12px;padding-top:20px;border-top:1px solid #404040}.input-container input{flex:1 1;padding:14px 18px;border:1px solid #454545;border-radius:8px;font-size:1rem;outline:none;background:#353535;color:#f5f5f5;transition:all .2s ease}.input-container input::placeholder{color:#888}.input-container input:focus{border-color:#606060;background:#3a3a3a;box-shadow:0 0 0 3px rgba(96,96,96,.1)}.input-container button{padding:14px 28px;background:#1a1a1a;color:#fff;border:1px solid #404040;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.input-container button:hover:not(:disabled){background:#2a2a2a;border-color:#505050;transform:translateY(-1px)}.input-container button:active:not(:disabled){transform:translateY(0)}.input-container button:disabled{opacity:.5;cursor:not-allowed;transform:none}.loading{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid #606060;border-top-color:#fff;animation:spin .8s linear infinite;margin-left:10px}@keyframes spin{to{transform:rotate(1turn)}}.error{background:#3a2a2a;color:#ff6b6b;padding:15px 20px;margin:20px 0;border:1px solid #5a3a3a;border-radius:8px}.error strong{color:#f88}.presentation-container{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#1a1a1a,#2d2d2d 50%,#1a1a1a);z-index:1000;overflow:hidden}.presentation-container,.presentation-slide{display:flex;align-items:center;justify-content:center}.presentation-slide{width:100%;height:100%;flex-direction:column;padding:60px;text-align:center;color:#f5f5f5}.slide-content{max-width:900px}.slide-content.final-transition{animation:finalFade 1.2s cubic-bezier(.25,.46,.45,.94) both}.slide-title{font-size:4.5rem;font-weight:600;margin-bottom:40px;letter-spacing:-.03em;color:#fff;line-height:1.1;min-height:120px}.slide-text{font-size:1.6rem;line-height:1.7;font-weight:300;color:#d0d0d0;margin-top:20px}.cursor{display:inline-block;margin-left:2px;color:#888;animation:blink 1s infinite;font-weight:300}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.slide-progress{position:absolute;bottom:80px;display:flex;gap:14px;align-items:center}.progress-dot{width:8px;height:8px;border-radius:50%;background:hsla(0,0%,100%,.2);transition:all .8s cubic-bezier(.25,.46,.45,.94)}.progress-dot.active{width:50px;background:hsla(0,0%,100%,.9);border-radius:4px;box-shadow:0 0 10px hsla(0,0%,100%,.3)}.progress-dot.completed{background:hsla(0,0%,100%,.5)}.fade-in{animation:fadeIn 1s cubic-bezier(.25,.46,.45,.94) both}.fade-out{animation:fadeOut 1s cubic-bezier(.25,.46,.45,.94) both}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(.98)}}@keyframes finalFade{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}to{opacity:0;transform:scale(.95)}}.container.slide-up{animation:slideUpIn 1.2s cubic-bezier(.25,.46,.45,.94) both}@keyframes slideUpIn{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.skip-button{position:absolute;bottom:30px;right:30px;padding:8px 16px;background:#404040;color:#b0b0b0;border:1px solid #505050;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;z-index:1001}.skip-button:hover{background:#505050;color:#d0d0d0;border-color:#606060}.research-container{max-width:1000px;margin:20px auto;background:#2d2d2d;border:1px solid #404040;border-radius:12px;min-height:calc(100vh - 40px);box-shadow:0 8px 32px rgba(0,0,0,.3)}.research-content{padding:40px;color:#f5f5f5}.research-header{text-align:center;margin-bottom:40px;padding-bottom:30px;border-bottom:1px solid #404040}.research-header h1{font-size:2.5rem;font-weight:600;margin-bottom:10px;color:#fff;letter-spacing:-.02em}.research-author{font-size:1.1rem;color:#b0b0b0;font-style:italic}.research-body{line-height:1.8;font-size:1.05rem;color:#e0e0e0}.research-body p{margin-bottom:25px;text-align:justify}.research-references{margin-top:50px;padding-top:30px;border-top:1px solid #404040}.research-references h2{font-size:1.8rem;font-weight:600;margin-bottom:25px;color:#fff}.research-references ul{list-style:none;padding:0}.research-references li{margin-bottom:30px;padding:20px;background:#353535;border:1px solid #454545;border-radius:8px;line-height:1.7}.research-references li strong{color:#fff;font-weight:600}.reference-note{display:block;margin-top:10px;font-size:.9rem;color:#b0b0b0;font-style:italic;padding-left:15px;border-left:2px solid #505050}.research-footer{margin-top:40px;padding-top:30px;border-top:1px solid #404040;text-align:center}.back-button{display:inline-block;padding:12px 24px;background:#1a1a1a;color:#fff;border:1px solid #404040;border-radius:8px;text-decoration:none;font-weight:600;transition:all .2s ease}.back-button:hover{background:#2a2a2a;border-color:#505050;transform:translateY(-1px)}.research-button{position:absolute;right:30px;top:50%;transform:translateY(-50%);padding:10px 20px;background:#353535;color:#e0e0e0;border:1px solid #454545;border-radius:8px;font-size:.95rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s ease;display:inline-block}.research-button:hover{background:#404040;border-color:#505050;color:#fff;transform:translateY(-50%) translateY(-1px)}