:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#1a1a1a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;width:100%;height:100vh;overflow:hidden}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#333;color:#ffffffde;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#ffffffde;background-color:#1a1a1a}a:hover{color:#747bff}button{background-color:#333;color:#ffffffde}}#root{width:100%;height:100vh;margin:0;padding:0;background-color:#1a1a1a;color:#ffffffde}.app-container{display:flex;width:100%;height:100%;overflow:hidden}.chat{flex:1;width:auto;min-width:300px;border-right:1px solid #333;height:100%;display:flex;flex-direction:column;background-color:#242424;overflow-x:hidden}.chat-collapsed{width:30px;height:100%;background-color:#242424;display:flex;align-items:center;justify-content:center;border-right:1px solid #333}.chat-header{padding:10px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #333;height:50px;min-height:50px}.header-left{display:flex;align-items:center;gap:10px}.discord-btn{display:flex;align-items:center;justify-content:center;background-color:#5865f2;border-radius:50%;width:26px;height:26px;transition:background-color .2s ease}.discord-btn:hover{background-color:#4752c4}.youtube-btn{display:flex;align-items:center;justify-content:center;background-color:red;border-radius:50%;width:26px;height:26px;transition:background-color .2s ease}.youtube-btn:hover{background-color:#c00}.linktree-btn{display:flex;align-items:center;justify-content:center;background-color:#43e660;border-radius:50%;width:26px;height:26px;transition:background-color .2s ease}.linktree-btn:hover{background-color:#39c151}.medium-btn{display:flex;align-items:center;justify-content:center;background-color:#000;border-radius:50%;width:26px;height:26px;transition:background-color .2s ease}.medium-btn:hover{background-color:#333}.structure-info{font-size:.8rem;color:#999;margin:0 10px;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewing-info{font-size:.8rem;color:#999;padding:5px 12px;border-bottom:1px solid #333;background-color:#2a2a2a}.structure-name{color:#ddd;font-weight:700}.chat-messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:5px;display:flex;flex-direction:column;gap:12px;width:100%;box-sizing:border-box}.message{padding:10px;border-radius:6px;max-width:95%;width:95%;box-sizing:border-box;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.user-message{align-self:flex-end;background-color:#444;margin-left:auto;margin-right:1%}.assistant-message{align-self:flex-start;background-color:#333;margin-right:auto;margin-left:1%}.message-role{font-size:.8rem;margin-bottom:4px;font-weight:700;color:#aaa}.message-content{line-height:1.4;white-space:pre-wrap;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;max-width:100%;overflow-x:hidden}.message-content p{margin:.5em 0}.message-content h1,.message-content h2,.message-content h3,.message-content h4,.message-content h5,.message-content h6{margin-top:.8em;margin-bottom:.5em;font-weight:700;color:#fff}.message-content h1{font-size:1.5em}.message-content h2{font-size:1.3em}.message-content h3{font-size:1.2em}.message-content h4{font-size:1.1em}.message-content ul,.message-content ol{margin:.5em 0;padding-left:1.5em}.message-content li{margin:.2em 0}.message-content a{color:#61dafb;text-decoration:none}.message-content a:hover{text-decoration:underline}.message-content code{background-color:#0000004d;padding:.2em .4em;border-radius:3px;font-family:monospace;font-size:.9em}.message-content pre{background-color:#0000004d;padding:.5em;border-radius:4px;overflow-x:hidden;margin:.5em 0;max-width:100%;white-space:pre-wrap}.message-content pre code{background-color:transparent;padding:0;white-space:pre-wrap;overflow-wrap:break-word;word-wrap:break-word}.message-content blockquote{border-left:3px solid #555;margin:.5em 0;padding-left:1em;color:#aaa}.message-content table{border-collapse:collapse;margin:.5em 0;max-width:100%;width:100%;table-layout:fixed;overflow-wrap:break-word}.message-content th,.message-content td{border:1px solid #444;padding:.3em .5em;text-align:left;word-break:break-word;overflow-wrap:break-word;max-width:100%}.message-content th{background-color:#333}.cursor{display:inline-block;width:.6em;height:1em;animation:blink 1s step-end infinite;margin-left:2px;vertical-align:middle}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.chat-input-container{display:flex;gap:8px;padding:12px;border-top:1px solid #333;background-color:#242424}.chat-input{flex:1;padding:10px 12px;border-radius:5px;border:1px solid #444;background-color:#333;color:#fff;font-size:1.2rem;line-height:1.4;height:auto}.chat-submit{padding:0 18px;background-color:#444;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1.1rem;font-weight:700}.chat-submit:disabled{background-color:#333;color:#666;cursor:not-allowed}.chat-submit-stop{background-color:#d32f2f;color:#fff;font-weight:700}.chat-submit-stop:hover{background-color:#b71c1c}.markdown-container{flex:0 0 60%;width:60%;height:100%;display:flex;flex-direction:column;position:relative;background-color:#1a1a1a}.markdown-collapsed{flex:0 0 30px;width:30px;min-width:30px;display:flex;align-items:center;justify-content:center;border-left:1px solid #333}.markdown-expand-btn{background-color:#444;border:none;color:#ddd}.markdown-viewer{width:100%;height:100%;display:flex;flex-direction:column;background-color:#1a1a1a}.markdown-viewer-header{padding:15px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #333;height:50px;min-height:50px}.markdown-viewer-header h3{margin:0;color:#ddd;font-size:1.1rem}.refresh-button{background-color:#444;border:none;color:#ddd;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .2s}.refresh-button:hover{background-color:#555}.refresh-button:disabled{background-color:#333;cursor:not-allowed;opacity:.6}.markdown-viewer-content{flex:1;padding:20px;overflow-y:auto;background-color:#1a1a1a;color:#ffffffde;line-height:1.6}.markdown-error{background-color:#3a1f1f;color:#f99;padding:12px;border-radius:4px;border-left:4px solid #ff6666;margin-bottom:16px}.markdown-viewer-content h1,.markdown-viewer-content h2,.markdown-viewer-content h3,.markdown-viewer-content h4,.markdown-viewer-content h5,.markdown-viewer-content h6{color:#fff;margin-top:24px;margin-bottom:16px}.markdown-viewer-content h1{border-bottom:1px solid #444;padding-bottom:8px}.markdown-viewer-content h2{border-bottom:1px solid #333;padding-bottom:4px}.markdown-viewer-content p{margin-bottom:16px}.markdown-viewer-content ul,.markdown-viewer-content ol{margin-bottom:16px;padding-left:24px}.markdown-viewer-content li{margin-bottom:4px}.markdown-viewer-content pre{background-color:#2d2d2d;border:1px solid #444;border-radius:4px;padding:16px;overflow-x:auto;margin-bottom:16px}.markdown-viewer-content code{background-color:#2d2d2d;padding:2px 6px;border-radius:3px;font-family:Monaco,Consolas,Courier New,monospace}.code-block{display:block;background-color:#2d2d2d;padding:16px;border-radius:4px;overflow-x:auto;margin:16px 0}.inline-code{background-color:#2d2d2d;padding:2px 6px;border-radius:3px}.markdown-blockquote{border-left:4px solid #555;margin:16px 0;padding-left:16px;color:#ccc;font-style:italic}.markdown-viewer-content a{color:#66b3ff;text-decoration:none}.markdown-viewer-content a:hover{color:#9cf;text-decoration:underline}.markdown-viewer-content hr{border:none;border-top:1px solid #444;margin:24px 0}.markdown-viewer-content strong{color:#fff;font-weight:700}.markdown-viewer-content em{color:#ddd;font-style:italic}.markdown-viewer-content table{border-collapse:collapse;margin:16px 0;max-width:100%;width:100%;background-color:#2a2a2a;border-radius:4px;overflow:hidden}.markdown-viewer-content th,.markdown-viewer-content td{border:1px solid #444;padding:8px 12px;text-align:left;word-break:break-word;overflow-wrap:break-word}.markdown-viewer-content th{background-color:#333;font-weight:700;color:#fff}.markdown-viewer-content td{background-color:#2a2a2a}.markdown-viewer-content tbody tr:nth-child(2n) td{background-color:#252525}.markdown-viewer-content tbody tr:hover td{background-color:#2f2f2f}.markdown-viewer-controls{display:flex;gap:10px;align-items:center}.mode-toggle-button{background-color:#4a4a4a;border:1px solid #666;color:#ddd;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.mode-toggle-button:hover:not(:disabled){background-color:#555}.mode-toggle-button:disabled{opacity:.6;cursor:not-allowed}.mode-toggle-button.edit-mode{background-color:#2d5a2d;border-color:#4a8f4a}.mode-toggle-button.view-mode{background-color:#2d4a5a;border-color:#4a7a8f}.refresh-button{background-color:#4a4a4a;border:1px solid #666;color:#ddd;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.refresh-button:hover:not(:disabled){background-color:#555}.refresh-button:disabled{opacity:.6;cursor:not-allowed}.markdown-editor{height:100%;display:flex;flex-direction:column}.editor-controls{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid #333;margin-bottom:15px}.save-button{background-color:#2d5a2d;border:1px solid #4a8f4a;color:#ddd;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.save-button:hover:not(:disabled){background-color:#3a6a3a}.save-button:disabled{opacity:.6;cursor:not-allowed}.cancel-button{background-color:#5a2d2d;border:1px solid #8f4a4a;color:#ddd;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.cancel-button:hover:not(:disabled){background-color:#6a3a3a}.cancel-button:disabled{opacity:.6;cursor:not-allowed}.markdown-textarea{flex:1;background-color:#1a1a1a;border:1px solid #444;border-radius:4px;color:#ffffffde;padding:15px;font-family:Monaco,Consolas,Courier New,monospace;font-size:14px;line-height:1.5;resize:none;outline:none;-moz-tab-size:2;tab-size:2}.markdown-textarea:focus{border-color:#666;box-shadow:0 0 0 1px #66b3ff4d}.markdown-textarea:disabled{opacity:.6;cursor:not-allowed}.mol3d-block{background-color:#2d2d2d;border:1px solid #444;border-radius:8px;margin:20px 0;overflow:hidden}.mol3d-header{background-color:#333;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #444}.mol3d-header span{color:#66b3ff;font-weight:700;display:flex;align-items:center;gap:8px}.mol3d-commands{background-color:#1a1a1a;color:#ccc;padding:4px 8px;border-radius:4px;font-size:.9rem;font-family:Monaco,Consolas,Courier New,monospace}.embedded-3dmol-viewer{background-color:#000;position:relative;display:block;width:100%}.embedded-3dmol-viewer>div{position:relative!important;width:100%!important;height:100%!important}.embedded-3dmol-viewer canvas{position:relative!important;width:100%!important;height:100%!important;left:0!important;top:0!important}.molecular-viewer{width:100%;height:100%;display:flex;flex-direction:column;background-color:#1a1a1a}.viewer-header{padding:15px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #333;height:50px;min-height:50px}.current-molecule{background-color:#333;padding:4px 8px;border-radius:4px;font-size:.8rem}.viewer-container{flex:1;display:flex;justify-content:center;align-items:center;padding:20px;overflow-y:auto}.loading-indicator,.molecule-placeholder,.empty-state{text-align:center;color:#aaa}.molecule-placeholder{border:2px dashed #444;padding:40px;border-radius:8px;width:80%;height:60%;display:flex;flex-direction:column;justify-content:center}.empty-state{color:#666;display:flex;flex-direction:column;gap:10px}.collapse-btn{padding:4px 8px;font-size:12px;background-color:#444;border:none;color:#ddd;border-radius:4px}
