*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:#343541;color:#ececf1;height:100vh;display:flex;flex-direction:column;font-size:13px}#root{height:100vh;display:flex;flex-direction:column}.header{background:#202123;padding:8px 16px;border-bottom:1px solid #565869;display:flex;justify-content:space-between;align-items:center}.header h1{font-size:15px;font-weight:600}.settings-btn{background:#40414f;border:1px solid #565869;color:#ececf1;padding:6px 12px;border-radius:5px;cursor:pointer;font-size:12px}.settings-btn:hover{background:#4a4b5a}.chat-container{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.message{display:flex;gap:12px;padding:12px 16px;border-radius:6px}.message.user{background:#343541}.message.assistant{background:#444654}.message-avatar{width:28px;height:28px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0}.message.user .message-avatar{background:#5436da}.message.assistant .message-avatar{background:#19c37d}.message-content{flex:1;line-height:1.5;white-space:pre-wrap;word-break:break-word;font-size:13px}.message-content code{background:#2d2e3a;padding:2px 5px;border-radius:3px;font-family:Courier New,monospace;font-size:12px}.message-content pre{background:#2d2e3a;padding:12px;border-radius:6px;overflow-x:auto;margin:6px 0}.message-content pre code{background:none;padding:0}.input-area{background:#40414f;padding:12px;border-top:1px solid #565869}.input-container{max-width:800px;margin:0 auto;position:relative}.input-wrapper{display:flex;gap:10px;background:#40414f;border:1px solid #565869;border-radius:6px;padding:10px}#user-input{flex:1;background:transparent;border:none;color:#ececf1;font-size:13px;outline:none;resize:none;max-height:200px;min-height:24px;font-family:inherit;overflow-y:auto;line-height:1.5}#send-btn{background:#19c37d;color:#fff;border:none;padding:6px 14px;border-radius:5px;cursor:pointer;font-weight:600;font-size:12px;align-self:flex-end}#send-btn:hover:not(:disabled){background:#1aa76e}#send-btn:disabled{background:#40414f;color:#8e8ea0;cursor:not-allowed}.loading{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ececf1;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}.error-message{color:#ef4444;background:#ef44441a;padding:10px;border-radius:5px;margin-top:6px;font-size:12px}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;z-index:1000;align-items:center;justify-content:center}.modal.active{display:flex}.modal-content{background:#202123;padding:20px;border-radius:10px;max-width:450px;width:90%;border:1px solid #565869}.modal-header{font-size:17px;font-weight:600;margin-bottom:16px}.form-group{margin-bottom:14px}.form-group label{display:block;margin-bottom:6px;font-size:12px;color:#ececf1}.form-group input{width:100%;padding:8px;background:#40414f;border:1px solid #565869;border-radius:5px;color:#ececf1;font-size:13px}.form-group input:focus{outline:none;border-color:#19c37d}.warning-text{color:#ef4444;font-size:11px;margin-top:4px;font-weight:600}.modal-buttons{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.modal-btn{padding:8px 16px;border-radius:5px;border:none;cursor:pointer;font-weight:600;font-size:12px}.modal-btn.primary{background:#19c37d;color:#fff}.modal-btn.primary:hover{background:#1aa76e}.modal-btn.secondary{background:#40414f;color:#ececf1}.modal-btn.secondary:hover{background:#4a4b5a}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:#8e8ea0}.empty-state h2{font-size:20px;color:#ececf1}.empty-state p{font-size:13px;margin-bottom:8px}.example-prompts{display:flex;flex-direction:column;gap:10px;max-width:600px;width:100%;margin-top:8px}.example-prompt{background:#40414f;border:1px solid #565869;color:#ececf1;padding:12px 16px;border-radius:6px;cursor:pointer;font-size:12px;text-align:left;line-height:1.4;transition:all .2s ease}.example-prompt:hover{background:#4a4b5a;border-color:#19c37d}.verilog-visualizer{width:100%;background:#2d2e3a;border-radius:6px;overflow:hidden}.viz-tabs{display:flex;gap:0;background:#1a1b26;border-bottom:1px solid #565869}.viz-tab{flex:1;background:transparent;border:none;color:#8e8ea0;padding:8px 12px;font-size:12px;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent}.viz-tab:hover:not(:disabled){background:#2d2e3a;color:#ececf1}.viz-tab.active{color:#19c37d;border-bottom-color:#19c37d;background:#2d2e3a}.viz-tab:disabled{cursor:not-allowed;opacity:.5}.module-info{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#252632;border-bottom:1px solid #565869;font-size:11px}.module-name{color:#19c37d;font-weight:600;font-size:12px}.port-count{color:#8e8ea0}.viz-content{position:relative;min-height:150px}.code-panel,.testbench-panel{position:relative;padding:12px}.code-panel pre,.testbench-panel pre{margin:0;background:transparent;padding:0;max-height:400px;overflow-y:auto}.code-panel code,.testbench-panel code{font-size:11px;line-height:1.4}.action-btn{position:absolute;top:8px;right:24px;background:#40414f;border:1px solid #565869;color:#ececf1;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:11px;font-weight:600;z-index:10;transition:all .2s;text-transform:uppercase;letter-spacing:.5px}.action-btn:hover{background:#4a4b5a;border-color:#19c37d}.diagram-panel{padding:40px 16px 16px;text-align:center;background:#fff;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.diagram-panel .action-btn{position:absolute;top:8px;right:16px}.diagram-panel svg{max-width:100%;height:auto}.loading-text,.placeholder{color:#8e8ea0;font-size:12px;padding:20px}.viz-error{color:#ef4444;background:#ef44441a;padding:10px 12px;font-size:11px;margin:8px 12px;border-radius:4px}
