@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);:root{--header-height:0px;--sidebar-width:280px;--bg-primary:#1a1a1a;--bg-secondary:#2d2d30;--bg-tertiary:#3e3e42;--bg-hover:#484848;--text-primary:#fff;--text-secondary:#ccc;--text-muted:#999;--accent-primary:#007acc;--accent-secondary:#005a9e;--accent-hover:#08f;--accent-light:#007acc1a;--border-color:#484848;--border-light:#5a5a5a;--success-color:#4caf50;--success-light:#4caf501a;--warning-color:#ff9800;--warning-light:#ff98001a;--error-color:#f44336;--error-light:#f443361a;--shadow:0 2px 8px #0006;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 24px #0003;--shadow-xl:0 12px 32px #00000026}body{background-color:#1a1a1a!important;color:#fff!important}[data-theme=dark]{--bg-primary:#1a1a1a;--bg-secondary:#2d2d30;--bg-tertiary:#3e3e42;--bg-hover:#484848;--text-primary:#fff;--text-secondary:#ccc;--text-muted:#999;--accent-primary:#007acc;--accent-secondary:#005a9e;--accent-hover:#08f;--accent-light:#007acc1a;--border-color:#484848;--border-light:#5a5a5a;--success-color:#4caf50;--success-light:#4caf501a;--warning-color:#ff9800;--warning-light:#ff98001a;--error-color:#f44336;--error-light:#f443361a;--shadow:0 2px 8px #0006;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 24px #0003;--shadow-xl:0 12px 32px #00000026}*{margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#fff;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Inter,Helvetica Neue,sans-serif;font-size:14px;overflow:hidden}.app,body{background-color:#1a1a1a;background-color:var(--bg-primary);height:100vh}.app{display:flex;flex-direction:column;padding-top:0;position:relative;transition:margin-left .3s ease}.app.sidebar-open{margin-left:0}.header{background-color:#1a1a1a;background-color:var(--bg-primary);border-bottom:1px solid #484848;border-bottom:1px solid var(--border-color);box-shadow:0 2px 8px #0006;box-shadow:var(--shadow);height:auto;justify-content:space-between;left:0;padding:.75rem 1.5rem .75rem 60px;position:fixed;right:0;top:0;z-index:1100}.header,.header h1{align-items:center;display:flex}.header h1{color:#fff;color:var(--text-primary);cursor:pointer;font-size:1.375rem;font-weight:600;gap:.75rem;transition:all .2s ease}.header h1:hover{opacity:.8;transform:translateY(-1px)}.settings-button{align-items:center;background:none;border:1px solid #484848;border:1px solid var(--border-color);border-radius:.5rem;color:#ccc;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s ease}.settings-button:hover{background-color:#3e3e42;background-color:var(--bg-tertiary);border-color:#007acc;border-color:var(--accent-primary);color:#fff;color:var(--text-primary)}.mode-toggle{align-items:center;display:flex;margin-right:.5rem}.mode-toggle .toggle{display:inline-block;height:28px;position:relative;width:76px}.mode-toggle .toggle input{height:0;opacity:0;width:0}.mode-toggle .slider{align-items:center;background-color:#2d2d30;background-color:var(--bg-secondary);border:1px solid #484848;border:1px solid var(--border-color);bottom:0;color:#ccc;color:var(--text-secondary);cursor:pointer;display:flex;font-size:12px;font-weight:600;justify-content:space-between;left:0;padding:0 8px;right:0;top:0}.mode-toggle .slider,.mode-toggle .slider:before{border-radius:999px;position:absolute;transition:.2s}.mode-toggle .slider:before{background-color:#007acc;background-color:var(--accent-primary);bottom:2px;content:"";height:24px;left:2px;width:36px}.mode-toggle input:checked+.slider:before{transform:translateX(36px)}.mode-toggle .label-left,.mode-toggle .label-right{position:relative;z-index:1}.main-content{background-color:#2d2d30;background-color:var(--bg-secondary);justify-content:center}.chat-container,.main-content{display:flex;flex:1 1;overflow:hidden}.chat-container{background-color:initial;border-radius:1rem;flex-direction:column;margin:1rem auto;max-width:1200px;width:100%}.messages-container{background-color:initial;padding:1.5rem 2rem;scrollbar-color:#484848 #0000;scrollbar-color:var(--border-color) #0000;scrollbar-width:thin}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:#0000}.messages-container::-webkit-scrollbar-thumb{background-color:#484848;background-color:var(--border-color);border-radius:3px}.message{margin-bottom:1rem;width:100%}.message.user{justify-content:flex-end}.message.assistant{justify-content:flex-start}.message-content{word-wrap:break-word;border-radius:.5rem;max-width:70%;padding:.75rem 1rem}.message.user .message-content{background-color:#007acc;margin-left:1rem}.message.assistant .message-content{background-color:initial;margin-right:1rem}.input-container{padding:1rem}.input-form{display:flex;gap:.5rem;margin:0 auto;max-width:1000px}.input-wrapper{flex:1 1}.message-input{background-color:#3e3e42;border:1px solid #484848;border-radius:.5rem;color:#fff;font-family:inherit;font-size:1rem;outline:none;padding:.75rem;resize:none;width:100%}.message-input:focus{border-color:#007acc}.message-input::placeholder{color:#999}.upload-button{align-items:center;background-color:#3e3e42;background-color:var(--bg-tertiary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:.5rem;color:#ccc;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:.75rem 1rem;transition:all .2s ease}.upload-button:hover:not(:disabled){background-color:#484848;background-color:var(--bg-hover);border-color:#007acc;border-color:var(--accent-primary);color:#fff;color:var(--text-primary)}.upload-button:disabled{background-color:#3e3e42;background-color:var(--bg-tertiary);cursor:not-allowed;opacity:.5}.send-button{background-color:#007acc;border-radius:.5rem;padding:.75rem 1rem}.send-button:hover:not(:disabled){background-color:#08f}.send-button:disabled{background-color:#484848}.loading-indicator{align-items:center;display:flex;justify-content:center;min-height:200px;padding:4rem 2rem}.loading-container{align-items:center;display:flex;flex-direction:column;gap:2.5rem}.water-animation{align-items:center;display:flex;height:100px;justify-content:center;position:relative;width:100px}.water-drop.main-drop{animation:waterPulse 2.5s ease-in-out infinite;background:linear-gradient(135deg,#007acc,#005a9e);background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border-radius:50%;box-shadow:0 0 20px #007acc66,0 0 40px #007acc33;height:24px;position:relative;width:24px;z-index:10}.water-ripple{animation:cleanRipple 2.5s ease-out infinite;border:2px solid #007acc;border:2px solid var(--accent-primary);border-radius:50%;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%)}.water-ripple.ripple-1{animation-delay:0s;height:50px;width:50px}.water-ripple.ripple-2{animation-delay:.8s;height:70px;width:70px}.water-ripple.ripple-3{animation-delay:1.6s;height:90px;width:90px}.loading-content{align-items:center;display:flex;flex-direction:column;gap:1.2rem;text-align:center}.loading-title{animation:fadeInOut 2.5s ease-in-out infinite;color:#fff;color:var(--text-primary);font-size:1.2rem;font-weight:600;letter-spacing:.5px;margin:0}.loading-dots{align-items:center;display:flex;gap:.6rem;justify-content:center}.loading-dots span{animation:dotBounce 1.8s ease-in-out infinite;background:#007acc;background:var(--accent-primary);border-radius:50%;box-shadow:0 0 10px #007acc4d;height:10px;width:10px}.loading-dots span:first-child{animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.3s}.loading-dots span:nth-child(3){animation-delay:.6s}@keyframes waterPulse{0%{box-shadow:0 0 20px #007acc66,0 0 40px #007acc33;transform:scale(1)}50%{box-shadow:0 0 30px #007acc99,0 0 60px #007acc4d;transform:scale(1.2)}to{box-shadow:0 0 20px #007acc66,0 0 40px #007acc33;transform:scale(1)}}@keyframes cleanRipple{0%{border-width:3px;opacity:.8;transform:translate(-50%,-50%) scale(.5)}70%{border-width:2px;opacity:.3;transform:translate(-50%,-50%) scale(1.2)}to{border-width:1px;opacity:0;transform:translate(-50%,-50%) scale(1.5)}}@keyframes fadeInOut{0%,to{opacity:.7;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}@keyframes dotBounce{0%,60%,to{opacity:.6;transform:translateY(0) scale(1)}30%{opacity:1;transform:translateY(-8px) scale(1.1)}}.welcome-message{color:#ccc;color:var(--text-secondary);margin:0 auto;max-width:800px;padding:2rem}.welcome-header{align-items:center;display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.welcome-header svg{color:#007acc;color:var(--accent-primary)}.welcome-header h1.main-headline{text-align:center}.welcome-header h1.main-headline,.welcome-header h2{color:#fff;color:var(--text-primary);font-size:2.5rem;font-weight:700;margin:0}.welcome-description{color:#ccc;color:var(--text-secondary);font-size:1.2rem;line-height:1.6;margin-bottom:1.5rem}.try-free-text{color:#007acc;color:var(--accent-primary);font-size:1.1rem;font-weight:600;margin-bottom:3rem;text-align:center}.features-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:3rem}.feature-item{align-items:flex-start;background-color:#2d2d30;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;gap:1rem;padding:1.5rem;text-align:left}.feature-item:hover{background-color:#3e3e42;background-color:var(--bg-tertiary);border-color:#007acc;border-color:var(--accent-primary);transform:translateY(-2px)}.feature-item svg{color:#007acc;color:var(--accent-primary);flex-shrink:0;margin-top:.25rem}.feature-item h4{color:#fff;color:var(--text-primary);font-size:1rem;font-weight:600;margin-bottom:.25rem}.feature-item p{color:#ccc;color:var(--text-secondary);font-size:.875rem;margin:0}.example-queries{background-color:#2d2d30;background-color:var(--bg-secondary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:.75rem;padding:2rem;text-align:left}.example-queries h4{color:#fff;color:var(--text-primary);font-size:1.25rem;margin-bottom:1rem}.example-queries ul{list-style:none;padding:0}.example-queries li{background-color:#3e3e42;background-color:var(--bg-tertiary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:.5rem;color:#ccc;color:var(--text-secondary);font-style:italic;margin-bottom:.5rem;padding:.75rem 1rem;transition:all .2s ease}.example-queries li:hover{background-color:#1a1a1a;background-color:var(--bg-primary);border-color:#007acc;border-color:var(--accent-primary);color:#fff;color:var(--text-primary)}.error-message{background-color:#ef44441a;border:1px solid #f44336;border:1px solid var(--error-color);border-radius:.5rem;color:#f44336;color:var(--error-color);margin:1rem 0;padding:1rem}.data-visualization{background-color:#3e3e42;background-color:var(--bg-tertiary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:.75rem;margin:1rem 0;padding:1.5rem}.chart-container{color:#ccc;color:var(--text-secondary);min-height:300px}.chart-container,.settings-overlay{align-items:center;display:flex;justify-content:center}.settings-overlay{background-color:#000000b3;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.settings-modal{background-color:#2d2d30;background-color:var(--bg-secondary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:1rem;box-shadow:0 8px 24px #0003;box-shadow:var(--shadow-lg);max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.settings-header{align-items:center;border-bottom:1px solid #484848;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem 2rem}.settings-header h2{color:#fff;color:var(--text-primary);font-size:1.5rem;font-weight:600}.close-button{background:none;border:none;border-radius:.5rem;color:#ccc;color:var(--text-secondary);cursor:pointer;padding:.5rem;transition:all .2s ease}.close-button:hover{background-color:#3e3e42;background-color:var(--bg-tertiary);color:#fff;color:var(--text-primary)}.settings-content{padding:2rem}.settings-section{margin-bottom:2rem}.settings-section h3{color:#fff;color:var(--text-primary);font-size:1.25rem;margin-bottom:.5rem}.settings-section p{color:#ccc;color:var(--text-secondary)}.form-group,.settings-section p{margin-bottom:1.5rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem}.form-group label,.settings-input{color:#fff;color:var(--text-primary)}.settings-input{background-color:#1a1a1a;background-color:var(--bg-primary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:.5rem;font-size:1rem;padding:.75rem 1rem;transition:border-color .2s ease;width:100%}.settings-input:focus{border-color:#007acc;border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f61a;outline:none}.settings-input::placeholder{color:#999;color:var(--text-muted)}.connection-status{align-items:center;border-radius:.5rem;display:flex;font-weight:500;gap:.5rem;margin-bottom:1.5rem;padding:1rem}.connection-status.success{background-color:#10b9811a;border:1px solid #4caf50;border:1px solid var(--success-color);color:#4caf50;color:var(--success-color)}.connection-status.error{background-color:#ef44441a;border:1px solid #f44336;border:1px solid var(--error-color);color:#f44336;color:var(--error-color)}.settings-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.clear-button,.save-button,.test-button{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.test-button{background-color:#007acc;background-color:var(--accent-primary);color:#fff}.test-button:hover:not(:disabled){background-color:#08f;background-color:var(--accent-hover)}.test-button:disabled{background-color:#999;background-color:var(--text-muted);cursor:not-allowed}.save-button{background-color:#4caf50;background-color:var(--success-color);color:#fff}.save-button:hover{background-color:#059669}.clear-button{background-color:#f44336;background-color:var(--error-color);color:#fff}.clear-button:hover{background-color:#dc2626}.spinner{border:2px solid #0000;border-top-color:currentcolor}.settings-help{background-color:#3e3e42;background-color:var(--bg-tertiary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:.5rem;padding:1.5rem}.settings-help h4{color:#fff;color:var(--text-primary);margin-bottom:1rem}.settings-help ol{color:#ccc;color:var(--text-secondary);padding-left:1.5rem}.settings-help li{margin-bottom:.5rem}.settings-help a{color:#007acc;color:var(--accent-primary);text-decoration:none}.settings-help a:hover{text-decoration:underline}.header-controls{gap:.75rem}.data-preview-button{align-items:center;background:#2d2d30;background:var(--bg-secondary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:.5rem;color:#ccc;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;max-width:200px;overflow:hidden;padding:.5rem .875rem;text-overflow:ellipsis;transition:all .15s ease;white-space:nowrap}.data-preview-button:hover{background-color:#484848;background-color:var(--bg-hover);border-color:#007acc;border-color:var(--accent-primary);color:#fff;color:var(--text-primary)}.clear-data-button{align-items:center;background:#f443361a;background:var(--error-light);border:1px solid #f44336;border:1px solid var(--error-color);border-radius:.5rem;color:#f44336;color:var(--error-color);cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .15s ease}.clear-data-button:hover{background-color:#f44336;background-color:var(--error-color);color:#fff}.sidebar-toggle{align-items:center;background-color:#2d2d30;background-color:var(--bg-secondary);border-radius:6px;display:flex;justify-content:center;padding:8px;transition:all .2s ease}.sidebar-toggle.open{left:255px}.sidebar{background-color:#2d2d30;background-color:var(--bg-secondary);overflow:hidden;width:var(--sidebar-width)}.sidebar.open{left:0}.sidebar-header{background-color:#1a1a1a;background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);padding:20px}.sidebar-header h2{color:#fff;color:var(--text-primary);font-size:18px;margin-bottom:15px}.new-chat-btn{align-items:center;background-color:#007acc;background-color:var(--accent-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 15px;transition:background-color .2s ease;width:100%}.new-chat-btn:hover{background-color:#08f;background-color:var(--accent-hover)}.new-chat-btn svg{height:16px;width:16px}.sidebar-search{border-bottom:1px solid #484848;border-bottom:1px solid var(--border-color);padding:15px}.sidebar-search input{background-color:#3e3e42;background-color:var(--bg-tertiary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:4px;color:#fff;color:var(--text-primary);font-size:14px;outline:none;padding:8px 12px;transition:border-color .2s ease;width:100%}.sidebar-search input:focus{border-color:#007acc;border-color:var(--accent-primary)}.sidebar-search input::placeholder{color:#999;color:var(--text-muted)}.chat-history-list{flex:1 1;overflow-y:auto;padding:10px}.no-chats{color:#999;color:var(--text-muted);font-size:14px;padding:40px 20px;text-align:center}.chat-history-item{align-items:center;background-color:#3e3e42;background-color:var(--bg-tertiary);border:1px solid #0000;border-radius:6px;cursor:pointer;display:flex;gap:10px;margin-bottom:8px;padding:12px;position:relative;transition:all .2s ease}.chat-history-item:hover{background-color:#484848;background-color:var(--bg-hover);border-color:#5a5a5a;border-color:var(--border-light)}.chat-history-item.active{background-color:#007acc1a;background-color:var(--accent-light);border-color:#007acc;border-color:var(--accent-primary)}.chat-item-content{flex:1 1;min-width:0}.chat-item-title{color:#fff;color:var(--text-primary);font-weight:500;margin-bottom:4px}.chat-item-preview,.chat-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-item-preview{color:#999;color:var(--text-muted);font-size:12px;margin-bottom:6px}.chat-item-meta{align-items:center;display:flex;font-size:11px;gap:10px}.chat-item-delete,.chat-item-meta{color:#999;color:var(--text-muted)}.chat-item-delete{background:#0000;border:none;cursor:pointer;opacity:0;padding:4px;position:absolute;right:10px;top:50%;transform:translateY(-50%);transition:all .2s ease}.chat-history-item:hover .chat-item-delete{opacity:1}.chat-item-delete:hover{color:#f44336;color:var(--error-color)}.new-chat-button{align-items:center;background:#007acc1a;background:var(--accent-light);border:1px solid #007acc;border:1px solid var(--accent-primary);border-radius:.5rem;color:#007acc;color:var(--accent-primary);cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .15s ease}.new-chat-button:hover{background-color:#007acc;background-color:var(--accent-primary);color:#fff}.python-graphs-button{align-items:center;background:linear-gradient(135deg,#2ecc71,#27ae60);border:none;border-radius:50%;box-shadow:0 2px 8px #2ecc714d;color:#fff;cursor:pointer;display:flex;font-size:1.2em;height:40px;justify-content:center;transition:all .3s ease;width:40px}.python-graphs-button:hover{box-shadow:0 4px 16px #2ecc7166;transform:translateY(-2px) scale(1.05)}.file-upload-container{margin:2rem 0}.file-upload-zone-compact{border-radius:1rem;box-shadow:none;padding:2rem 1.5rem}.file-upload-zone{background-color:#2d2d30;background-color:var(--bg-secondary);border:2px dashed #484848;border:2px dashed var(--border-color);border-radius:1rem;cursor:pointer;padding:3rem 2rem;text-align:center;transition:all .3s ease}.file-upload-zone-compact:hover{background-color:#3e3e42;background-color:var(--bg-tertiary);transform:translateY(-1px)}.file-upload-zone-compact.drag-over{background-color:#3e3e42;background-color:var(--bg-tertiary);box-shadow:0 8px 24px #007acc26}.file-upload-zone-compact.loading{cursor:not-allowed;opacity:.7}.file-upload-zone:hover{background-color:#3e3e42;background-color:var(--bg-tertiary)}.file-upload-zone.drag-over,.file-upload-zone:hover{border-color:#007acc;border-color:var(--accent-primary)}.file-upload-zone.drag-over{background-color:#3b82f60d}.file-upload-zone.loading{cursor:not-allowed;opacity:.7}.upload-content-compact{flex-direction:row;gap:1.5rem}.upload-content-compact svg{transition:color .3s ease}.file-upload-zone-compact:hover .upload-content-compact svg{color:#08f;color:var(--accent-hover)}.upload-content-compact h3{font-size:1.25rem;margin:0 0 .5rem}.upload-content-compact p{font-size:.95rem;margin:0 0 .25rem}.supported-formats-compact{color:#999;color:var(--text-muted);font-size:.875rem}.upload-content{align-items:center;display:flex;flex-direction:column;gap:1rem}.upload-content svg{color:#999;color:var(--text-muted);transition:color .3s ease}.file-upload-zone:hover .upload-content svg{color:#007acc;color:var(--accent-primary)}.upload-content h3{color:#fff;color:var(--text-primary);font-size:1.5rem;margin:0}.upload-content p{color:#ccc;color:var(--text-secondary);margin:0}.supported-formats{color:#999;color:var(--text-muted);font-size:.875rem}.upload-progress{align-items:center;display:flex;flex-direction:column;gap:1rem;min-width:200px}.progress-bar{background-color:#1a1a1a;background-color:var(--bg-primary);border-radius:4px;height:8px;overflow:hidden;width:100%}.progress-fill{background-color:#007acc;background-color:var(--accent-primary);height:100%;transition:width .3s ease}.upload-actions-compact{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.5rem}.browse-btn-compact,.demo-btn-compact{color:#fff;color:var(--text-primary);padding:.75rem 1rem}.browse-btn-compact:hover:not(:disabled),.demo-btn-compact:hover:not(:disabled){background-color:#3e3e42;background-color:var(--bg-tertiary);transform:translateY(-1px)}.browse-btn-compact:disabled,.demo-btn-compact:disabled{transform:none}.quick-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:1rem}.quick-action-btn{align-items:center;background:#3e3e42;background:var(--bg-tertiary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:.5rem;color:#fff;color:var(--text-primary);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem 1rem;transition:all .2s ease}.quick-action-btn:hover:not(:disabled){background-color:#1a1a1a;background-color:var(--bg-primary);border-color:#007acc;border-color:var(--accent-primary);transform:translateY(-1px)}.quick-action-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.data-preview{max-height:70vh;overflow-y:auto}.data-preview-header{align-items:center;border-bottom:1px solid #484848;border-bottom:1px solid var(--border-color);display:flex;justify-content:between;margin-bottom:1.5rem;padding-bottom:1rem}.file-info h3{align-items:center;color:#fff;color:var(--text-primary);display:flex;font-size:1.25rem;gap:.5rem;margin:0 0 .5rem}.file-info p{color:#999;color:var(--text-muted);font-size:.875rem;margin:0}.preview-controls{display:flex;gap:.5rem}.toggle-btn{background:#3e3e42;background:var(--bg-tertiary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:.5rem;color:#ccc;color:var(--text-secondary);cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.toggle-btn:hover{background-color:#1a1a1a;background-color:var(--bg-primary);color:#fff;color:var(--text-primary)}.toggle-btn.active{background-color:#007acc;background-color:var(--accent-primary);border-color:#007acc;border-color:var(--accent-primary);color:#fff}.data-table-container{border:1px solid #484848;border:1px solid var(--border-color);border-radius:.5rem;margin-bottom:2rem;overflow-x:auto}.data-table{background-color:#2d2d30;background-color:var(--bg-secondary);border-collapse:collapse;width:100%}.data-table td,.data-table th{border-bottom:1px solid #484848;border-bottom:1px solid var(--border-color);border-right:1px solid #484848;border-right:1px solid var(--border-color);padding:.75rem;text-align:left}.data-table td:last-child,.data-table th:last-child{border-right:none}.data-table tbody tr:last-child td{border-bottom:none}.data-table th{background-color:#3e3e42;background-color:var(--bg-tertiary);color:#fff;color:var(--text-primary);font-weight:600;position:sticky;top:0;z-index:1}.data-table td{color:#ccc;color:var(--text-secondary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column-header{display:flex;flex-direction:column;gap:.25rem}.column-name{font-weight:600}.column-type{border-radius:.25rem;font-size:.75rem;font-weight:500;padding:.125rem .5rem}.column-type.numeric{background-color:#10b98133;color:#4caf50;color:var(--success-color)}.column-type.date{background-color:#3b82f633;color:#007acc;color:var(--accent-primary)}.column-type.text{background-color:#6b728033;color:#999;color:var(--text-muted)}.data-summary{margin-bottom:2rem}.data-summary h4{color:#fff;color:var(--text-primary);margin-bottom:1rem}.column-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.column-stat{background-color:#3e3e42;background-color:var(--bg-tertiary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:.5rem;padding:1rem}.column-stat strong{color:#fff;color:var(--text-primary);display:block;margin-bottom:.5rem}.stat-details{display:flex;flex-direction:column;gap:.25rem}.stat-details span{color:#ccc;color:var(--text-secondary);font-size:.875rem}.suggested-questions{background-color:#3e3e42;background-color:var(--bg-tertiary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.suggested-questions h4{color:#fff;color:var(--text-primary);margin-bottom:1rem}.question-buttons{display:flex;flex-direction:column;gap:.5rem}.question-btn{background:#2d2d30;background:var(--bg-secondary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:.5rem;color:#ccc;color:var(--text-secondary);cursor:pointer;font-size:.875rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease}.question-btn:hover{background-color:#1a1a1a;background-color:var(--bg-primary);border-color:#007acc;border-color:var(--accent-primary);color:#fff;color:var(--text-primary)}.modal-overlay{background-color:#000000b3}.modal-content{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;box-shadow:0 8px 24px #0003;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:90vh;max-width:1200px;overflow:hidden}.modal-header{background-color:#3e3e42;background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-color);padding:1.5rem 2rem}.modal-header h2{color:#fff;color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0}.modal-close{background:none;border:none;border-radius:.5rem;color:#ccc;color:var(--text-secondary);cursor:pointer;padding:.5rem;transition:all .2s ease}.modal-close:hover{background-color:#2d2d30;background-color:var(--bg-secondary);color:#fff;color:var(--text-primary)}.markdown-content{color:#fff;color:var(--text-primary);line-height:1.6}.markdown-content.streaming{position:relative}.streaming-cursor{display:inline-block;margin-left:2px}.cursor-blink{animation:blink 1s infinite;color:#007acc;color:var(--accent-primary);font-weight:700}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.markdown-h1{border-bottom:2px solid #484848;border-bottom:2px solid var(--border-color);color:#fff;color:var(--text-primary);font-size:1.75rem;font-weight:700;margin:1.5rem 0 1rem;padding-bottom:.5rem}.markdown-h2{border-bottom:1px solid #484848;border-bottom:1px solid var(--border-color);font-size:1.5rem;margin:1.25rem 0 .75rem;padding-bottom:.25rem}.markdown-h2,.markdown-h3{color:#fff;color:var(--text-primary);font-weight:600}.markdown-h3{font-size:1.25rem;margin:1rem 0 .5rem}.markdown-h4{color:#fff;color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:.75rem 0 .5rem}.markdown-p{color:#ccc;color:var(--text-secondary);margin:.75rem 0}.markdown-ol,.markdown-ul{margin:.75rem 0;padding-left:1.5rem}.markdown-li{color:#ccc;color:var(--text-secondary);display:list-item;margin:.25rem 0}.markdown-ul,.markdown-ul .markdown-li{list-style-type:disc}.markdown-ol{counter-reset:item;list-style-type:decimal!important}.markdown-ol .markdown-li{counter-increment:item;display:list-item!important;list-style-type:decimal!important}.markdown-content ol{list-style-type:decimal!important;padding-left:1.5rem!important}.markdown-content ol li{display:list-item!important;list-style-type:decimal!important;margin:.25rem 0}.markdown-content ul{list-style-type:disc!important;padding-left:1.5rem!important}.markdown-content ul li{display:list-item!important;list-style-type:disc!important;margin:.25rem 0}.markdown-blockquote{background-color:#3e3e42;background-color:var(--bg-tertiary);border-left:4px solid #007acc;border-left:4px solid var(--accent-primary);border-radius:0 .5rem .5rem 0;margin:1rem 0;padding:.75rem 1rem}.markdown-blockquote p{color:#ccc;color:var(--text-secondary);font-style:italic;margin:0}.inline-code{border:1px solid #484848;border:1px solid var(--border-color);border-radius:.25rem;color:#007acc;color:var(--accent-primary);font-family:Fira Code,Consolas,Monaco,monospace;font-size:.875em;padding:.125rem .375rem}.code-block-container,.inline-code{background-color:#3e3e42;background-color:var(--bg-tertiary)}.code-block-container{border:1px solid #484848;border:1px solid var(--border-color);border-radius:.5rem;margin:1rem 0;overflow:hidden}.code-block-header{align-items:center;background-color:#2d2d30;background-color:var(--bg-secondary);border-bottom:1px solid #484848;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:.5rem 1rem}.language-label{font-size:.875rem;font-weight:500;text-transform:uppercase}.copy-code-btn,.language-label{color:#ccc;color:var(--text-secondary)}.copy-code-btn{align-items:center;background:none;border:1px solid #484848;border:1px solid var(--border-color);border-radius:.25rem;cursor:pointer;display:flex;font-size:.75rem;gap:.25rem;padding:.25rem .5rem;transition:all .2s ease}.copy-code-btn:hover{background-color:#3e3e42;background-color:var(--bg-tertiary);border-color:#007acc;border-color:var(--accent-primary);color:#fff;color:var(--text-primary)}.syntax-highlighter{font-family:Fira Code,Consolas,Monaco,monospace!important;font-size:.875rem!important}.syntax-highlighter,.syntax-highlighter pre{background-color:initial!important;margin:0!important}.syntax-highlighter pre{padding:1rem!important}.table-container{border:1px solid #484848;border:1px solid var(--border-color);border-radius:.5rem;margin:1rem 0;overflow-x:auto}.markdown-table{background-color:#2d2d30;background-color:var(--bg-secondary);border-collapse:collapse;width:100%}.markdown-td,.markdown-th{border-bottom:1px solid #484848;border-bottom:1px solid var(--border-color);border-right:1px solid #484848;border-right:1px solid var(--border-color);padding:.75rem;text-align:left}.markdown-td:last-child,.markdown-th:last-child{border-right:none}.markdown-th{background-color:#3e3e42;background-color:var(--bg-tertiary);color:#fff;color:var(--text-primary);font-weight:600}.markdown-td{color:#ccc;color:var(--text-secondary)}.markdown-strong{color:#fff;color:var(--text-primary);font-weight:600}.markdown-em{color:#ccc;color:var(--text-secondary);font-style:italic}.markdown-link{border-bottom:1px solid #0000;color:#007acc;color:var(--accent-primary);text-decoration:none;transition:border-color .2s ease}.markdown-link:hover{border-bottom-color:#007acc;border-bottom-color:var(--accent-primary)}.file-upload-notification{background-color:initial;border:none;border-radius:0;margin-top:1rem;padding:.5rem}.upload-info{align-items:center;display:flex;gap:.5rem}.upload-info svg{color:#ccc;color:var(--text-secondary);flex-shrink:0}.upload-info strong{color:#fff;color:var(--text-primary);font-size:.9rem}.upload-info p{color:#ccc;color:var(--text-secondary);font-size:.8rem;margin:0}.recommended-questions{border-top:1px solid #5a5a5a;border-top:1px solid var(--border-light);margin-top:1rem;padding-top:1rem}.recommended-questions h4{color:#fff;color:var(--text-primary);font-size:.9rem;font-weight:600;margin-bottom:.75rem}.question-chips{display:flex;flex-direction:column;gap:.5rem}.question-chip{background:#1a1a1a;background:var(--bg-primary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:.5rem;color:#ccc;color:var(--text-secondary);cursor:pointer;font-size:.875rem;line-height:1.4;padding:.75rem 1rem;text-align:left;transition:all .15s ease}.question-chip:hover{background-color:#007acc1a;background-color:var(--accent-light);border-color:#007acc;border-color:var(--accent-primary);color:#007acc;color:var(--accent-primary);transform:translateY(-1px)}.recommendations-section{border-top:1px solid #5a5a5a;border-top:1px solid var(--border-light);margin-top:1rem;padding-top:1rem}.analyzing-questions{background:#0000;border:none;border-radius:0;margin:.5rem 0;padding:.5rem}.analyzing-header{align-items:center;display:flex;gap:.5rem;margin-bottom:0}.analyzing-icon{align-items:center;background:#0000;border-radius:0;color:#3b82f6;display:flex;height:20px;justify-content:center;width:20px}.analyzing-spinner{animation:spin 1.5s linear infinite;color:#3b82f6}.analyzing-header h4{-webkit-text-fill-color:unset;background:none;-webkit-background-clip:unset;background-clip:initial;color:#ccc;color:var(--text-secondary);font-size:.9rem;font-weight:500;margin:0}.analyzing-details{display:flex;flex-direction:column;gap:.5rem}.analyzing-step{align-items:center;animation:fadeInUp .6s ease-out forwards;color:#ccc;color:var(--text-secondary);display:flex;font-size:.875rem;opacity:0;padding:.5rem 0;position:relative}.analyzing-step:first-child{animation-delay:.2s}.analyzing-step:nth-child(2){animation-delay:.4s}.analyzing-step:nth-child(3){animation-delay:.6s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.analyzing-step:before{animation:pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#3b82f6,#8b45db);border-radius:50%;content:"";height:6px;margin-right:.75rem;width:6px}.code-generation-info{background-color:#3b82f61a;border:1px solid #007acc;border:1px solid var(--accent-primary);border-radius:.5rem;margin-top:1rem;padding:.75rem 1rem}.code-info{align-items:center;color:#007acc;color:var(--accent-primary);display:flex;font-size:.875rem;font-weight:500;gap:.5rem}.code-info svg{flex-shrink:0}.message-source{display:none}.message-source svg{flex-shrink:0}.message-timestamp{color:var(--text-muted);font-size:.75rem;margin-top:.5rem;text-align:right}.message.user .message-timestamp{text-align:left}.sidebar-toggle{background:#1a1a1a;background:var(--bg-primary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:.5rem;box-shadow:0 4px 12px #0000004d;box-shadow:var(--shadow-md);color:#ccc;color:var(--text-secondary);cursor:pointer;left:15px;padding:.5rem;position:fixed;top:15px;transition:all .15s ease;z-index:1001}.sidebar-toggle:hover{background-color:#484848;background-color:var(--bg-hover);border-color:#007acc;border-color:var(--accent-primary);color:#fff;color:var(--text-primary)}.sidebar-toggle.collapsed{left:1rem}.sidebar{background-color:#1a1a1a;background-color:var(--bg-primary);border-right:1px solid var(--border-color);box-shadow:0 8px 24px #0003;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;height:calc(100vh - var(--header-height));left:-300px;top:var(--header-height);transition:left .3s ease;z-index:1000}.sidebar,.sidebar.collapsed{transform:none}.sidebar-content{flex:1 1;overflow-y:auto;padding:4rem 0 1rem}.sidebar-header{border-bottom:1px solid #5a5a5a;border-bottom:1px solid var(--border-light);padding:0 1.5rem 1.5rem}.sidebar-brand{align-items:center;display:flex;gap:.75rem}.sidebar-logo{height:24px;width:auto}.brand-text{color:#fff;color:var(--text-primary);font-size:1.125rem;font-weight:600}.sidebar-nav{padding:1rem .75rem}.nav-item{align-items:center;background:none;border:none;border-radius:.5rem;color:#ccc;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.75rem;margin-bottom:.25rem;padding:.75rem 1rem;transition:all .15s ease;width:100%}.nav-item:hover{background-color:#484848;background-color:var(--bg-hover);color:#fff;color:var(--text-primary)}.nav-item.active{background-color:#007acc1a;background-color:var(--accent-light);color:#007acc;color:var(--accent-primary);font-weight:600}.nav-icon{align-items:center;display:flex;flex-shrink:0}.nav-label{flex:1 1;text-align:left}.current-file-section,.recent-section{border-top:1px solid #5a5a5a;border-top:1px solid var(--border-light);padding:1rem 1.5rem}.section-header h4{color:#fff;color:var(--text-primary);font-size:.875rem;font-weight:600;margin-bottom:.75rem}.file-info-card{background-color:#2d2d30;background-color:var(--bg-secondary);border:1px solid #5a5a5a;border:1px solid var(--border-light);border-radius:.5rem;gap:.75rem;padding:.75rem}.file-icon,.file-info-card{align-items:center;display:flex}.file-icon{color:#007acc;color:var(--accent-primary)}.file-details{flex:1 1}.file-name{color:#fff;color:var(--text-primary);font-size:.875rem;font-weight:500;margin-bottom:.125rem}.file-size{color:#999;color:var(--text-muted);font-size:.75rem}.recent-items{display:flex;flex-direction:column;gap:.25rem}.recent-item{align-items:center;border-radius:.375rem;color:#ccc;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem .75rem;transition:background-color .15s ease}.recent-item:hover{background-color:#484848;background-color:var(--bg-hover);color:#fff;color:var(--text-primary)}.sidebar-footer{border-top:1px solid #5a5a5a;border-top:1px solid var(--border-light);padding:1rem 1.5rem}.help-button{align-items:center;background:#2d2d30;background:var(--bg-secondary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:.5rem;color:#ccc;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.75rem;padding:.75rem 1rem;transition:all .15s ease;width:100%}.help-button:hover{background-color:#484848;background-color:var(--bg-hover);border-color:#007acc;border-color:var(--accent-primary);color:#fff;color:var(--text-primary)}.help-beacon{align-items:center;background-color:#007acc;background-color:var(--accent-primary);border:none;border-radius:50%;bottom:2rem;box-shadow:0 12px 32px #00000026;box-shadow:var(--shadow-xl);color:#fff;cursor:pointer;display:flex;height:56px;justify-content:center;position:fixed;right:2rem;transition:all .15s ease;width:56px;z-index:1000}.help-beacon:hover{background-color:#08f;background-color:var(--accent-hover);box-shadow:0 25px 50px -12px #00000040;transform:translateY(-2px)}.app.sidebar-open .main-content{margin-left:0;transition:margin-left .3s ease}.app.sidebar-open .header{margin-left:0!important}.sidebar.open~.header,.sidebar.open~.main-content{margin-left:0;transition:none}.sidebar.open~.main-content{width:100%}@media (max-width:1024px){.app.sidebar-open .header,.app.sidebar-open .main-content,.sidebar.open~.header,.sidebar.open~.main-content{margin-left:0}.sidebar.open~.main-content{width:100%}}@media (max-width:768px){.app.sidebar-open .header,.app.sidebar-open .main-content,.sidebar.open~.header,.sidebar.open~.main-content{margin-left:0}.sidebar.open~.main-content{width:100%}}.help-beacon-container{position:relative}.help-tooltip{animation:tooltipFadeIn .2s ease forwards;background:#1a1a1a;background:var(--bg-primary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:.5rem;bottom:calc(100% + 1rem);box-shadow:0 8px 24px #0003;box-shadow:var(--shadow-lg);min-width:200px;opacity:0;padding:.75rem;position:absolute;right:0;z-index:1001}.tooltip-content strong{color:#fff;color:var(--text-primary);display:block;font-size:.875rem;margin-bottom:.25rem}.tooltip-content p{color:#ccc;color:var(--text-secondary);font-size:.75rem;margin:0}.tooltip-arrow{border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid #1a1a1a;border-top:6px solid var(--bg-primary);height:0;position:absolute;right:1rem;top:100%;width:0}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}.chart-renderer{background-color:#1a1a1a;background-color:var(--bg-primary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:.75rem;box-shadow:0 2px 8px #0006;box-shadow:var(--shadow);margin:1.5rem 0;padding:1.5rem}.chart-grid{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:1.5rem;width:100%}@media (min-width:768px){.chart-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1200px){.chart-grid{grid-template-columns:repeat(3,1fr)}}.chart-item{background-color:#2d2d30;background-color:var(--bg-secondary);border:1px solid #5a5a5a;border:1px solid var(--border-light);border-radius:.5rem;padding:1rem}.chart-item.full-width{grid-column:1/-1}.chart-item h4{color:#fff;color:var(--text-primary);font-size:1rem;font-weight:600;margin-bottom:1rem;text-align:center}.comprehensive-dashboard{display:flex;flex-direction:column;gap:1.5rem}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:#484848;stroke:var(--border-color)}.recharts-text{fill:#ccc;fill:var(--text-secondary);font-size:12px}.recharts-tooltip-wrapper{border:1px solid #484848!important;border:1px solid var(--border-color)!important;border-radius:.375rem!important;box-shadow:0 8px 24px #0003!important;box-shadow:var(--shadow-lg)!important}.recharts-default-tooltip,.recharts-tooltip-wrapper{background-color:#1a1a1a!important;background-color:var(--bg-primary)!important}.recharts-default-tooltip{border:none!important;border-radius:.375rem!important}.recharts-default-tooltip,.recharts-tooltip-label{color:#fff!important;color:var(--text-primary)!important}.recharts-tooltip-label{font-weight:600}.recharts-tooltip-item{color:#ccc!important;color:var(--text-secondary)!important}[data-theme=dark] .chart-renderer{background-color:#2d2d30;background-color:var(--bg-secondary)}[data-theme=dark] .chart-item{background-color:#3e3e42;background-color:var(--bg-tertiary)}[data-theme=dark] .recharts-text{fill:#ccc;fill:var(--text-secondary)}.chart-actions{display:flex;gap:.5rem;justify-content:center;margin-top:1rem}.chart-action-btn{background:#007acc1a;background:var(--accent-light);border:1px solid #007acc;border:1px solid var(--accent-primary);border-radius:.375rem;color:#007acc;color:var(--accent-primary);cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .15s ease}.chart-action-btn:hover{background-color:#007acc;background-color:var(--accent-primary);color:#fff}.chart-detector{margin-bottom:1.5rem}.chart-header{margin-bottom:1rem;text-align:center}.chart-header h3{color:#fff;color:var(--text-primary);font-size:1.25rem;font-weight:600;margin-bottom:.25rem}.chart-header p{color:#ccc;color:var(--text-secondary);font-size:.875rem;margin:0}.price-analysis-dashboard{display:flex;flex-direction:column;gap:1.5rem}.analysis-summary{background-color:#3e3e42;background-color:var(--bg-tertiary);border:1px solid #5a5a5a;border:1px solid var(--border-light);border-radius:.75rem;padding:1.5rem}.analysis-summary h4{color:#fff;color:var(--text-primary);font-size:1.125rem;font-weight:600;margin-bottom:1rem;text-align:center}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-card{background-color:#1a1a1a;background-color:var(--bg-primary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:.5rem;display:flex;flex-direction:column;gap:.5rem;padding:1rem;text-align:center}.stat-label{color:#ccc;color:var(--text-secondary);font-size:.875rem;font-weight:500}.stat-value{color:#fff;color:var(--text-primary);font-size:1.25rem;font-weight:700}[data-theme=dark] .analysis-summary{background-color:#1a1a1a;background-color:var(--bg-primary)}[data-theme=dark] .stat-card{background-color:#2d2d30;background-color:var(--bg-secondary)}.chart-execution-result{background-color:#3e3e42;background-color:var(--bg-tertiary);border:1px solid #5a5a5a;border:1px solid var(--border-light);border-radius:.5rem;margin-top:1rem;overflow:hidden}.chart-execution-result .chart-header{align-items:center;background-color:#2d2d30;background-color:var(--bg-secondary);border-bottom:1px solid #5a5a5a;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:.75rem 1rem}.chart-execution-result .chart-header h3{color:#fff;color:var(--text-primary);font-size:1rem;font-weight:600;margin:0}.chart-type-badge{background:#007acc;background:var(--accent-primary);border-radius:1rem;color:#fff;font-size:.75rem;font-weight:500;padding:.25rem .75rem;text-transform:uppercase}.python-code-executor{background-color:#3e3e42;background-color:var(--bg-tertiary);border:1px solid #5a5a5a;border:1px solid var(--border-light);border-radius:.5rem;margin-top:1rem;overflow:hidden}.code-execution-header{align-items:center;background-color:#2d2d30;background-color:var(--bg-secondary);border-bottom:1px solid #5a5a5a;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:.75rem 1rem}.execution-info{align-items:center;color:#ccc;color:var(--text-secondary);display:flex;font-size:.875rem;gap:.5rem}.execution-info svg{color:#007acc;color:var(--accent-primary)}.data-info{color:#999;color:var(--text-muted);font-size:.8rem}.copy-btn,.execution-controls{display:flex;gap:.5rem}.copy-btn{align-items:center;background:#007acc;background:var(--accent-primary);border-radius:.375rem;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.copy-btn:hover{background:#005a9e;background:var(--accent-secondary);transform:translateY(-1px)}.copy-btn:disabled{cursor:not-allowed;opacity:.6}.python-code-info{background-color:#3e3e42;background-color:var(--bg-tertiary);border-top:1px solid #5a5a5a;border-top:1px solid var(--border-light);padding:1rem}.code-usage-note{background-color:#2d2d30;background-color:var(--bg-secondary);border:1px solid #5a5a5a;border:1px solid var(--border-light);border-radius:.5rem;margin-top:.5rem;padding:1rem}.code-usage-note p{color:#fff;color:var(--text-primary);font-weight:500;margin:0 0 .5rem}.code-usage-note ul{color:#ccc;color:var(--text-secondary);margin:0;padding-left:1.5rem}.code-usage-note li{font-size:.875rem;margin-bottom:.25rem}.insights-container{background-color:initial;border:none;border-radius:0;margin-top:1.5rem;overflow:visible}.insights-header{align-items:center;background:#0000;color:#fff;color:var(--text-primary);display:flex;justify-content:space-between;padding:0}.insights-title{align-items:center;display:flex;font-weight:600;gap:.75rem}.insights-title h3{font-size:1.125rem;margin:0}.insights-title svg{color:#007acc;color:var(--accent-primary)}.insights-count{background:#0000;border-radius:0;color:#ccc;color:var(--text-secondary);font-size:.875rem;font-weight:500;padding:0}.insights-list{margin-top:1rem;padding:0}.insight-item{background-color:initial;border-left:none;border-radius:0;display:flex;gap:.75rem;margin-bottom:.5rem;padding:.5rem 0;transition:none}.insight-item:last-child{margin-bottom:0}.insight-item:hover{box-shadow:none;transform:none}.insight-item.recommendation{background-color:initial;border-left-color:#0000}.insight-icon{align-items:center;border-radius:50%;color:#0000;display:flex;flex-shrink:0;height:6px;justify-content:center;margin-top:.5rem;width:6px}.insight-icon,.insight-item.recommendation .insight-icon{background-color:#ccc;background-color:var(--text-secondary)}.insight-content{flex:1 1}.insight-title{color:#fff;color:var(--text-primary);font-size:1rem;font-weight:600;margin-bottom:.5rem}.insight-description{color:#ccc;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.chart-selector-btn{align-items:center;background:#005a9e;background:var(--accent-secondary);border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.chart-selector-btn:hover{background:#007acc;background:var(--accent-primary);transform:translateY(-1px)}.chart-selector-panel{background-color:#2d2d30;background-color:var(--bg-secondary);border-top:1px solid #5a5a5a;border-top:1px solid var(--border-light);padding:1.25rem}.chart-selector-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.chart-selector-header h4{color:#fff;color:var(--text-primary);font-size:1rem;margin:0}.chart-selector-controls{display:flex;gap:.5rem}.selector-control-btn{background:#3e3e42;background:var(--bg-tertiary);border:1px solid #5a5a5a;border:1px solid var(--border-light);border-radius:.375rem;color:#ccc;color:var(--text-secondary);cursor:pointer;font-size:.75rem;padding:.375rem .75rem;transition:all .2s ease}.selector-control-btn:hover{background:#007acc;background:var(--accent-primary);border-color:#007acc;border-color:var(--accent-primary);color:#fff}.chart-type-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.chart-type-option{align-items:center;background-color:#3e3e42;background-color:var(--bg-tertiary);border:2px solid #5a5a5a;border:2px solid var(--border-light);border-radius:.5rem;cursor:pointer;display:flex;gap:1rem;padding:1rem;transition:all .2s ease}.chart-type-option:hover{background-color:#2d2d30;background-color:var(--bg-secondary);transform:translateY(-2px)}.chart-type-option.selected,.chart-type-option:hover{border-color:#007acc;border-color:var(--accent-primary);box-shadow:0 4px 12px #0000004d;box-shadow:var(--shadow-md)}.chart-type-option.selected{background-color:var(--accent-bg)}.chart-type-icon{flex-shrink:0;font-size:1.5rem}.chart-type-info{flex:1 1}.chart-type-name{color:#fff;color:var(--text-primary);font-weight:600;margin-bottom:.25rem}.chart-type-description{color:#ccc;color:var(--text-secondary);font-size:.875rem}.chart-type-checkbox{align-items:center;background-color:#3e3e42;background-color:var(--bg-tertiary);border:2px solid #5a5a5a;border:2px solid var(--border-light);border-radius:.25rem;display:flex;flex-shrink:0;height:1.5rem;justify-content:center;width:1.5rem}.chart-type-option.selected .chart-type-checkbox{background-color:#007acc;background-color:var(--accent-primary);border-color:#007acc;border-color:var(--accent-primary);color:#fff}.charts-display{background-color:#2d2d30;background-color:var(--bg-secondary);border-top:1px solid #5a5a5a;border-top:1px solid var(--border-light);margin-top:1rem;padding:1.25rem}.charts-header{margin-bottom:1.5rem;text-align:center}.charts-header h4{color:#fff;color:var(--text-primary);font-size:1.125rem;margin:0 0 .5rem}.charts-header p{color:#ccc;color:var(--text-secondary);font-size:.875rem;margin:0}.chart-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.chart-container{background-color:#3e3e42;background-color:var(--bg-tertiary);border-radius:.75rem;box-shadow:var(--shadow-sm);padding:1.25rem;transition:all .2s ease}.chart-container:hover{box-shadow:0 8px 24px #0003;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.chart-title{font-size:1rem;font-weight:600;margin-bottom:1rem}.chart-title,.execute-btn{align-items:center;display:flex;gap:.5rem}.execute-btn{background:#007acc;background:var(--accent-primary);border-radius:.375rem;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.execute-btn:hover:not(:disabled){background:#08f;background:var(--accent-hover)}.execute-btn:disabled{background:#999;background:var(--text-muted);cursor:not-allowed}.spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;height:16px;width:16px}.python-execution-result{border-top:1px solid #5a5a5a;border-top:1px solid var(--border-light)}.execution-header{align-items:center;background-color:#2d2d30;background-color:var(--bg-secondary);display:flex;justify-content:space-between;padding:.75rem 1rem}.execution-status{align-items:center;display:flex;font-size:.875rem;gap:.5rem}.status-success{color:#4caf50;color:var(--success-color)}.status-error,.status-success{align-items:center;display:flex;gap:.25rem}.status-error{color:#f44336;color:var(--error-color)}.execution-actions{display:flex;gap:.5rem}.action-btn{background:#0000;border:1px solid #484848;border:1px solid var(--border-color);border-radius:.25rem;color:#ccc;color:var(--text-secondary);cursor:pointer;font-size:.875rem;padding:.25rem .5rem;transition:all .2s ease}.action-btn:hover{background:#484848;background:var(--bg-hover);color:#fff;color:var(--text-primary)}.execution-content{background-color:#1a1a1a;background-color:var(--bg-primary);padding:1rem}.execution-error{background-color:#f443361a;background-color:var(--error-light);border:1px solid #f44336;border:1px solid var(--error-color);border-radius:.375rem;color:#f44336;color:var(--error-color)}.execution-error,.execution-output{font-size:.875rem;margin-bottom:1rem;padding:.75rem}.execution-output{background-color:#2d2d30;background-color:var(--bg-secondary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:.375rem}.execution-output pre{color:#fff;color:var(--text-primary);font-family:Courier New,monospace;margin:.5rem 0 0;white-space:pre-wrap}.execution-charts{margin-top:1rem}.execution-charts h4{color:#fff;color:var(--text-primary);font-size:1.125rem;font-weight:600;margin-bottom:1rem}.chart-container{border:1px solid #5a5a5a;border:1px solid var(--border-light);border-radius:.5rem;margin-bottom:1.5rem;overflow:hidden}.chart-info{align-items:center;background-color:#2d2d30;background-color:var(--bg-secondary);border-bottom:1px solid #5a5a5a;border-bottom:1px solid var(--border-light);display:flex;font-size:.875rem;gap:.5rem;padding:.75rem 1rem}.chart-type{background:#007acc1a;background:var(--accent-light);color:#007acc;color:var(--accent-primary);font-weight:500}.chart-subtype,.chart-type{border-radius:.25rem;padding:.25rem .5rem}.chart-subtype{background:#3e3e42;background:var(--bg-tertiary);color:#ccc;color:var(--text-secondary);font-size:.8rem;text-transform:uppercase}.chart-title{color:#fff;color:var(--text-primary);font-weight:500;margin-left:auto}[data-theme=dark] .python-code-executor{background-color:#2d2d30;background-color:var(--bg-secondary)}[data-theme=dark] .execution-content{background-color:#3e3e42;background-color:var(--bg-tertiary)}[data-theme=dark] .chart-container,[data-theme=dark] .execution-output{background-color:#1a1a1a;background-color:var(--bg-primary)}.settings-tabs{border-bottom:1px solid #5a5a5a;border-bottom:1px solid var(--border-light);display:flex;margin-bottom:1.5rem}.tab-button{background:none;border:none;border-bottom:2px solid #0000;color:#ccc;color:var(--text-secondary);cursor:pointer;flex:1 1;font-weight:500;padding:.75rem 1rem;transition:all .2s ease}.tab-button:hover{color:#fff;color:var(--text-primary)}.tab-button.active,.tab-button:hover{background-color:#3e3e42;background-color:var(--bg-tertiary)}.tab-button.active{border-bottom-color:#007acc;border-bottom-color:var(--accent-primary);color:#007acc;color:var(--accent-primary)}.theme-selector{display:flex;gap:.5rem;margin:.5rem 0}.theme-option{background-color:#2d2d30;background-color:var(--bg-secondary);border:2px solid #5a5a5a;border:2px solid var(--border-light);border-radius:.5rem;color:#fff;color:var(--text-primary);cursor:pointer;flex:1 1;font-weight:500;padding:.75rem 1rem;transition:all .2s ease}.theme-option:hover{background-color:#3e3e42;background-color:var(--bg-tertiary)}.theme-option.active,.theme-option:hover{border-color:#007acc;border-color:var(--accent-primary)}.theme-option.active{background-color:#007acc1a;background-color:var(--accent-light);color:#007acc;color:var(--accent-primary)}.app-info{margin-top:1rem}.info-card{background-color:#2d2d30;background-color:var(--bg-secondary);border:1px solid #5a5a5a;border:1px solid var(--border-light);border-radius:.5rem;overflow:hidden}.info-header{background-color:#3e3e42;background-color:var(--bg-tertiary);border-bottom:1px solid #5a5a5a;border-bottom:1px solid var(--border-light);color:#fff;color:var(--text-primary);font-weight:600;padding:.75rem 1rem}.info-body{color:#ccc;color:var(--text-secondary);font-size:.9rem;line-height:1.5;padding:1rem}.theme-preview{margin-top:1rem}.preview-card{background-color:#2d2d30;background-color:var(--bg-secondary);border:1px solid #5a5a5a;border:1px solid var(--border-light);border-radius:.5rem;overflow:hidden}.preview-header{background-color:#3e3e42;background-color:var(--bg-tertiary);border-bottom:1px solid #5a5a5a;border-bottom:1px solid var(--border-light);color:#fff;color:var(--text-primary);font-weight:600;padding:.75rem 1rem}.preview-body{color:#ccc;color:var(--text-secondary);font-size:.9rem;padding:1rem}.settings-select{background-color:#2d2d30;background-color:var(--bg-secondary);border:1px solid #5a5a5a;border:1px solid var(--border-light);border-radius:.375rem;color:#fff;color:var(--text-primary);cursor:pointer;font-size:1rem;padding:.75rem;transition:border-color .2s ease;width:100%}.settings-select:focus{border-color:#007acc;border-color:var(--accent-primary);box-shadow:0 0 0 3px #007acc1a;box-shadow:0 0 0 3px var(--accent-light);outline:none}.model-info{background-color:#3e3e42;background-color:var(--bg-tertiary);border:1px solid #5a5a5a;border:1px solid var(--border-light);border-radius:.5rem;margin-top:1.5rem;padding:1rem}.model-info h4{color:#fff;color:var(--text-primary);font-size:1rem;margin:0 0 .75rem}.model-details{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.model-badge{background-color:#007acc;background-color:var(--accent-primary);border-radius:1rem;font-size:.75rem;padding:.25rem .75rem;text-transform:uppercase}.model-badge,.model-name{color:#fff;font-weight:600}.model-name{color:var(--text-primary);font-size:1.1rem}.model-description{color:#ccc;color:var(--text-secondary);font-size:.9rem;line-height:1.4;margin:.5rem 0 0;width:100%}.python-chart-output{margin:1rem 0}.python-chart-output .execution-charts{margin:0}.python-chart-output .chart-container{background-color:#1a1a1a;background-color:var(--bg-primary);border:1px solid #5a5a5a;border:1px solid var(--border-light);border-radius:.5rem;margin-bottom:1rem;overflow:hidden}[data-theme=dark] .python-chart-output .chart-container{background-color:#2d2d30;background-color:var(--bg-secondary)}.instant-data-preview{background-color:#1a1a1a;background-color:var(--bg-primary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:.75rem;box-shadow:0 8px 24px #0003;box-shadow:var(--shadow-lg);margin-top:1rem;overflow:hidden}.excel-header{background:linear-gradient(135deg,#2a2a2a,#1a1a1a);border-bottom:2px solid #484848;border-bottom:2px solid var(--border-color);justify-content:space-between;padding:1rem 1.25rem}.excel-header,.excel-header h4{align-items:center;display:flex}.excel-header h4{color:#fff;color:var(--text-primary);font-size:1.125rem;font-weight:700;gap:.5rem;margin:0}.excel-info{color:#ccc;color:var(--text-secondary);font-size:.875rem;font-weight:500}.preview-toggle{background:#2a2a2a;border:1px solid #444;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:4px 8px;transition:background-color .2s ease}.preview-toggle:hover{background:#3a3a3a}.excel-table-container{background-color:#1a1a1a;background-color:var(--bg-primary);display:block;max-height:400px;overflow:auto;width:100%}.excel-table{border-collapse:initial;border-spacing:0;display:table;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:.875rem;table-layout:fixed;width:100%}.excel-table thead{display:table-header-group}.excel-table tbody{display:table-row-group}.excel-table tr{display:table-row}.excel-table td,.excel-table th{display:table-cell}.excel-table .row-number{background-color:#f1f5f9;border-bottom:1px solid #5a5a5a;border-bottom:1px solid var(--border-light);border-right:2px solid #484848;border-right:2px solid var(--border-color);color:#ccc;color:var(--text-secondary);font-size:.8rem;font-weight:600;left:0;min-width:50px;padding:.5rem .75rem;position:sticky;text-align:center;width:50px;z-index:10}.excel-table .column-header{background:linear-gradient(180deg,#3b82f6,#2563eb);border-bottom:2px solid #005a9e;border-bottom:2px solid var(--accent-secondary);border-right:1px solid #fff3;color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.05em;min-width:120px;padding:.75rem 1rem;position:sticky;text-align:center;top:0;white-space:nowrap;z-index:5}.excel-table .excel-cell{background-color:#1a1a1a;background-color:var(--bg-primary);border-bottom:1px solid #5a5a5a;border-bottom:1px solid var(--border-light);border-right:1px solid #5a5a5a;border-right:1px solid var(--border-light);color:#fff;color:var(--text-primary);max-width:200px;min-width:120px;overflow:hidden;padding:.5rem 1rem;text-overflow:ellipsis;vertical-align:top;white-space:nowrap}.excel-table tbody tr:nth-child(2n) .excel-cell{background-color:#2d2d30;background-color:var(--bg-secondary)}.excel-table tbody tr:hover .excel-cell{background-color:#007acc1a;background-color:var(--accent-light)}.excel-table tbody tr:hover .row-number{background-color:#007acc;background-color:var(--accent-primary);color:#fff}.preview-note{background-color:#3e3e42;background-color:var(--bg-tertiary);border-top:1px solid #5a5a5a;border-top:1px solid var(--border-light);color:#999;color:var(--text-muted);font-size:.8rem;font-style:italic;margin:0;padding:.75rem;text-align:center}[data-theme=dark] .instant-data-preview{background-color:#2d2d30;background-color:var(--bg-secondary)}[data-theme=dark] .excel-header{background:linear-gradient(135deg,#1a1a2e,#16213e);border-bottom-color:#484848;border-bottom-color:var(--border-color)}[data-theme=dark] .excel-table .row-number{background-color:#3e3e42;background-color:var(--bg-tertiary);border-right-color:#484848;border-right-color:var(--border-color)}[data-theme=dark] .excel-table .excel-cell{background-color:#2d2d30;background-color:var(--bg-secondary)}[data-theme=dark] .excel-table tbody tr:nth-child(2n) .excel-cell{background-color:#3e3e42;background-color:var(--bg-tertiary)}[data-theme=dark] .excel-table tbody tr:hover .excel-cell{background-color:#3b82f61a}[data-theme=dark] .preview-note{background-color:#1a1a1a;background-color:var(--bg-primary)}.welcome-message-compact{margin:0 auto;max-width:800px;padding:2rem 1rem;text-align:center}.welcome-header-compact{align-items:center;display:flex;gap:1.5rem;justify-content:center;margin-bottom:2rem}.welcome-header-compact svg{color:#007acc;color:var(--accent-primary);flex-shrink:0}.welcome-header-compact div{text-align:left}.welcome-header-compact h1{color:#fff;color:var(--text-primary);font-size:1.75rem;font-weight:700;margin:0 0 .5rem}.welcome-header-compact p{color:#ccc;color:var(--text-secondary);font-size:1rem;line-height:1.5;margin:0}.features-compact{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.feature-compact{align-items:center;background:#2d2d30;background:var(--bg-secondary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:.5rem;display:flex;gap:.75rem;padding:.75rem;transition:all .2s ease}.feature-compact:hover{background:#484848;background:var(--bg-hover);border-color:#007acc;border-color:var(--accent-primary)}.feature-compact svg{color:#007acc;color:var(--accent-primary);flex-shrink:0}.feature-compact div{text-align:left}.feature-compact strong{color:#fff;color:var(--text-primary);display:block;font-size:.875rem;font-weight:600;margin-bottom:.25rem}.feature-compact span{color:#ccc;color:var(--text-secondary);font-size:.8rem}.file-upload-zone-compact{background-color:#2d2d30;background-color:var(--bg-secondary);border:2px dashed #484848;border:2px dashed var(--border-color);border-radius:.75rem;cursor:pointer;margin-bottom:1rem;padding:1.5rem;text-align:center;transition:all .3s ease}.file-upload-zone-compact:hover{background-color:#484848;background-color:var(--bg-hover);border-color:#007acc;border-color:var(--accent-primary)}.file-upload-zone-compact.drag-over{background-color:#007acc1a;background-color:var(--accent-light);border-color:#007acc;border-color:var(--accent-primary)}.upload-content-compact{align-items:center;display:flex;gap:1rem;justify-content:center}.upload-content-compact svg{color:#007acc;color:var(--accent-primary);flex-shrink:0}.upload-content-compact div{text-align:left}.upload-content-compact h3{color:#fff;color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0 0 .25rem}.upload-content-compact p{color:#ccc;color:var(--text-secondary);font-size:.875rem;margin:0}.supported-formats-compact{color:#999!important;color:var(--text-muted)!important;font-size:.8rem!important;margin-top:.25rem!important}.quick-actions-compact{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.browse-btn-compact,.demo-btn-compact{align-items:center;background:#2d2d30;background:var(--bg-secondary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:.5rem;color:#ccc;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.625rem 1rem;transition:all .2s ease}.browse-btn-compact:hover:not(:disabled),.demo-btn-compact:hover:not(:disabled){background-color:#007acc;background-color:var(--accent-primary);border-color:#007acc;border-color:var(--accent-primary);color:#fff}.browse-btn-compact:disabled,.demo-btn-compact:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.welcome-header-compact{flex-direction:column;text-align:center}.welcome-header-compact div{text-align:center}.features-compact{grid-template-columns:1fr}.upload-content-compact{flex-direction:column;text-align:center}.upload-content-compact div{text-align:center}}.message-controls,.message-role-indicator{display:none}.collapse-toggle{align-items:center;background:#3e3e42;background:var(--bg-tertiary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:6px;color:#ccc;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.75rem;gap:.375rem;padding:.375rem .75rem;transition:all .2s ease}.collapse-toggle:hover{background:#484848;background:var(--bg-hover);border-color:#007acc;border-color:var(--accent-primary);color:#fff;color:var(--text-primary)}.collapse-toggle svg{transition:transform .2s ease}.message-content-body{overflow:hidden;transition:max-height .3s ease,opacity .3s ease}.message-content-body.collapsed{max-height:150px;position:relative}.message-content-body.collapsed:after{background:linear-gradient(#0000,#2d2d30);background:linear-gradient(#0000,var(--bg-secondary));bottom:0;content:"";height:50px;left:0;pointer-events:none;position:absolute;right:0}.compact-streaming-toggle{align-items:center;background:#007acc1a;background:var(--accent-light);border:1px solid #007acc;border:1px solid var(--accent-primary);border-radius:6px;color:#007acc;color:var(--accent-primary);cursor:pointer;display:flex;font-size:.75rem;gap:.375rem;padding:.375rem .75rem;transition:all .2s ease}.compact-streaming-toggle:hover{background:#007acc;background:var(--accent-primary);color:#fff}.compact-streaming-indicator{align-items:center;background:#3e3e42;background:var(--bg-tertiary);border:1px solid #484848;border:1px solid var(--border-color);border-radius:8px;color:#ccc;color:var(--text-secondary);display:flex;font-size:.875rem;gap:.75rem;padding:1rem}.streaming-dots{display:flex;gap:.25rem}.streaming-dots span{animation:streamingPulse 1.4s ease-in-out infinite both;background:#007acc;background:var(--accent-primary);border-radius:50%;height:6px;width:6px}.streaming-dots span:first-child{animation-delay:-.32s}.streaming-dots span:nth-child(2){animation-delay:-.16s}@keyframes streamingPulse{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.code-block-container:has(.language-label:contains("python")) .syntax-highlighter pre:contains("🔄 Generating Python code"){animation:pulse 2s infinite;background:linear-gradient(45deg,#3e3e42,#007acc1a);background:linear-gradient(45deg,var(--bg-tertiary),var(--accent-light));border:2px dashed #007acc;border:2px dashed var(--accent-primary);border-radius:8px;padding:2rem;text-align:center}.code-block-container .language-label{font-weight:600;letter-spacing:.5px;text-transform:uppercase}.code-block-container:has(.language-label:contains("python")){background:#3e3e42;background:var(--bg-tertiary);border-left:4px solid #007acc;border-left:4px solid var(--accent-primary);border-radius:8px;overflow:hidden}.code-block-container:has(.language-label:contains("python")) .code-block-header{background:#007acc;background:var(--accent-primary);color:#fff;padding:.75rem 1rem}.code-block-container:has(.language-label:contains("python")) .copy-code-btn{background:#fff3;border:1px solid #ffffff4d;color:#fff}.code-block-container:has(.language-label:contains("python")) .copy-code-btn:hover{background:#ffffff4d}.python-graph-generator{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.generator-header{margin-bottom:30px;text-align:center}.generator-header h2{color:#2c3e50;font-size:2.2em;margin-bottom:10px}.generator-header p{color:#7f8c8d;font-size:1.1em}.category-selector{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:30px}.category-btn{background:#fff;border:2px solid #3498db;border-radius:25px;color:#3498db;cursor:pointer;font-size:.95em;font-weight:600;padding:12px 20px;transition:all .3s ease}.category-btn:hover{background:#3498db;color:#fff;transform:translateY(-2px)}.category-btn.active{background:#3498db;box-shadow:0 4px 12px #3498db4d;color:#fff}.graphs-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:30px}.graph-card{background:#fff;border:2px solid #ecf0f1;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;padding:20px;transition:all .3s ease}.graph-card:hover{border-color:#3498db;box-shadow:0 8px 25px #3498db33;transform:translateY(-4px)}.graph-card.selected{background:linear-gradient(135deg,#f8fff8,#e8f8e8);border-color:#2ecc71;box-shadow:0 8px 25px #2ecc714d}.graph-card-header{align-items:center;display:flex;gap:12px;margin-bottom:12px}.graph-icon{font-size:2em}.graph-card h3{color:#2c3e50;font-size:1.3em;margin:0}.graph-description{color:#7f8c8d;font-weight:500;margin:8px 0}.graph-use-case{color:#95a5a6;font-size:.9em;font-style:italic;margin:0}.code-display{background:#2c3e50;border-radius:12px;box-shadow:0 8px 32px #0003;margin:30px 0;overflow:hidden}.code-header{align-items:center;background:linear-gradient(135deg,#34495e,#2c3e50);border-bottom:1px solid #34495e;display:flex;justify-content:space-between;padding:20px}.code-header h3{color:#fff;font-size:1.4em;margin:0}.code-actions{align-items:center;display:flex;gap:10px}.execute-btn{background:linear-gradient(135deg,#2ecc71,#27ae60);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9em;font-weight:600;padding:10px 20px;transition:all .3s ease}.execute-btn:hover{background:linear-gradient(135deg,#27ae60,#229954);box-shadow:0 4px 12px #2ecc7166;transform:translateY(-2px)}.copy-btn{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s ease}.copy-btn:hover{background:#2980b9;transform:translateY(-2px)}.copy-btn.copied{animation:pulse .6s ease-in-out;background:#2ecc71}.code-container{background:#2c3e50;max-height:600px;overflow-y:auto}.code-container pre{word-wrap:break-word;margin:0;padding:20px;white-space:pre-wrap}.code-container code{color:#ecf0f1;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.6}.code-footer{background:#34495e;border-top:1px solid #4a5f7a;padding:15px 20px}.code-footer p{color:#bdc3c7;font-size:.9em;margin:5px 0}.code-footer strong{color:#ecf0f1}.installation-guide{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-left:4px solid #3498db;border-radius:12px;margin-top:30px;padding:20px}.installation-guide h3{color:#2c3e50;margin-bottom:15px;margin-top:0}.install-code{align-items:center;background:#2c3e50;border-radius:8px;display:flex;gap:10px;padding:15px}.install-code code{color:#ecf0f1;flex:1 1;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.install-code button{background:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 12px;transition:all .3s ease}.install-code button:hover{background:#2980b9}[data-theme=dark] .generator-header h2,[data-theme=dark] .python-graph-generator{color:#ecf0f1}[data-theme=dark] .graph-card{background:#34495e;border-color:#4a5f7a;color:#ecf0f1}[data-theme=dark] .graph-card:hover{border-color:#3498db}[data-theme=dark] .graph-card.selected{background:linear-gradient(135deg,#2c5530,#1e3a1e);border-color:#2ecc71}[data-theme=dark] .graph-card h3{color:#ecf0f1}[data-theme=dark] .installation-guide{background:linear-gradient(135deg,#34495e,#2c3e50);color:#ecf0f1}[data-theme=dark] .installation-guide h3{color:#ecf0f1}[data-theme=dark] .analyzing-header h4{color:#ecf0f1}[data-theme=dark] .analyzing-step{color:#bdc3c7}.python-graphs-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:95vh;max-width:95vw;overflow:hidden;width:1400px}.python-graphs-header{align-items:center;background:linear-gradient(135deg,#2c3e50,#34495e);border-bottom:1px solid #4a5f7a;color:#fff;display:flex;justify-content:space-between;padding:20px}.python-graphs-header h2{font-size:1.6em;margin:0}.python-graphs-content{flex:1 1;overflow-y:auto;padding:0}[data-theme=dark] .python-graphs-modal{background:#2c3e50;color:#ecf0f1}@media (max-width:768px){.python-graph-generator{padding:15px}.category-selector{align-items:center;flex-direction:column}.category-btn{max-width:300px;width:100%}.graphs-grid{grid-template-columns:1fr}.code-header{gap:15px}.code-header,.install-code{flex-direction:column;text-align:center}.python-graphs-modal{height:95vh;width:95vw}}.markdown-image{border:1px solid #484848;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #0000004d;display:block;height:auto;margin:1rem 0;max-width:100%;transition:transform .2s ease,box-shadow .2s ease}.markdown-image:hover{box-shadow:0 8px 24px #0006;transform:translateY(-2px)}.mermaid-container{background:linear-gradient(135deg,#3b82f626,#6366f11a);border:2px solid #3b82f6;border-radius:1rem;margin:1rem 0;max-width:100%;min-height:200px;overflow:hidden;position:relative;transition:all .3s ease;-webkit-user-select:none;user-select:none}.mermaid-container:hover{border-color:#2563eb;box-shadow:0 8px 25px #3b82f64d;transform:translateY(-2px)}.mermaid-container.fullscreen{background:#1f2937;border-radius:0;height:100vh!important;left:0;margin:0;max-height:100vh!important;position:fixed;top:0;width:100vw!important;z-index:9999}.mermaid-controls{borderRadius:8px;background:#000000b3;display:flex;gap:4px;padding:4px;position:absolute;right:8px;top:8px;transition:opacity .3s ease;z-index:10}.zoom-btn{align-items:center;background:#007acc;background:var(--accent-primary);border:none;border-radius:4px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;display:flex;font-weight:700;height:32px;justify-content:center;transition:all .2s ease;width:32px}.zoom-btn:hover{background:#08f;background:var(--accent-hover);box-shadow:0 4px 8px #0000004d;transform:scale(1.05)}.zoom-btn:active{transform:scale(.95)}.mermaid{background:#0000;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-width:100%;transform-origin:center center;width:100%}.mermaid .node circle,.mermaid .node ellipse,.mermaid .node polygon,.mermaid .node rect{fill:#00a84e!important;stroke:#00b0f9!important;stroke-width:2px!important}.mermaid .node .label{fill:#fff!important;color:#fff!important}.mermaid .edgePath .path{stroke:#813e99!important;stroke-width:2px!important}.mermaid .edgeLabel{background-color:#f15324!important;color:#fff!important}.mermaid text{fill:#fff!important;font-weight:500!important}.mermaid-diagram.pan-mode{cursor:grab;overflow:hidden}.mermaid-diagram.pan-mode:active{cursor:grabbing}.mermaid-diagram.zoomed{cursor:zoom-out}.mermaid-diagram.scale-50 .mermaid{transform:scale(.5)}.mermaid-diagram.scale-75 .mermaid{transform:scale(.75)}.mermaid-diagram.scale-100 .mermaid{transform:scale(1)}.mermaid-diagram.scale-125 .mermaid{transform:scale(1.25)}.mermaid-diagram.scale-150 .mermaid{transform:scale(1.5)}.mermaid-diagram.scale-200 .mermaid{transform:scale(2)}@media (max-width:768px){.mermaid-diagram{overflow-x:scroll;padding:1rem}.mermaid{min-width:400px}}.mermaid-container svg .edgeLabel,.mermaid-container svg .legendText,.mermaid-container svg .nodeLabel,.mermaid-container svg .pieTitleText,.mermaid-container svg .titleText,.mermaid-container svg .xAxisLabelText,.mermaid-container svg .xyTitle,.mermaid-container svg .yAxisLabelText,.mermaid-container svg text,.mermaid-container svg tspan{fill:#fff!important;color:#fff!important;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif!important;font-size:14px!important;font-weight:600!important}.mermaid-container svg .pieTitleText,.mermaid-container svg .titleText,.mermaid-container svg .xyChart .titleText{fill:#fff!important;text-anchor:middle!important;font-size:18px!important;font-weight:700!important}.mermaid-container svg .xAxisLabelText,.mermaid-container svg .yAxisLabelText{fill:#fff!important;font-size:12px!important;font-weight:500!important}.mermaid-container svg .nodeLabel{fill:#fff!important;text-anchor:middle!important;font-weight:600!important}.mermaid-container svg .edgeLabel{fill:#fff!important;background-color:#1f2937!important;font-weight:500!important}.mermaid-container svg *{color:#fff!important}.mermaid-container .flowchart text,.mermaid-container .pieChart text,.mermaid-container .xyChart text,.mermaid-container [data-testid=chart] text,.mermaid-container g text{fill:#fff!important;color:#fff!important;font-weight:600!important}.mermaid-container .xychart-beta text{fill:#fff!important;stroke:none!important;font-weight:600!important}.mermaid-container .pieChart .slice text{fill:#fff!important;font-size:14px!important;font-weight:700!important}.data-app{background-color:#1a1a1a;background-color:var(--bg-primary,#1a1a1a);color:#fff;color:var(--text-primary,#fff);display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:400;min-height:100vh}*{box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:400;line-height:1.5}.sidebar{background-color:#2d2d30!important;border-right:1px solid #484848;box-shadow:0 2px 8px #0006;height:100vh;left:0;overflow-y:auto;padding:20px;position:fixed;top:0;transform:translateX(0);transition:transform .3s ease;width:280px;width:var(--sidebar-width,280px);z-index:999}.sidebar.collapsed{transform:translateX(-100%)}.sidebar-header{align-items:center;border-bottom:1px solid #484848;border-bottom:1px solid var(--border-color,#484848);display:flex;gap:12px;padding:20px 0}.sidebar-logo{border-radius:8px;height:40px;width:40px}.sidebar-title{color:#fff!important;color:var(--text-primary,#fff)!important;font-size:18px;font-weight:600}.sidebar-content{padding-top:20px}.sidebar-section{margin-bottom:24px}.sidebar-section h3{color:#999!important;color:var(--text-muted,#999)!important;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.sidebar-item{align-items:center;background-color:#3e3e42;background-color:var(--bg-tertiary,#3e3e42);border:1px solid #484848;border:1px solid var(--border-color,#484848);border-radius:8px;color:#ccc!important;color:var(--text-secondary,#ccc)!important;cursor:pointer;display:flex;gap:12px;margin-bottom:8px;padding:12px 16px;transition:all .2s ease}.sidebar-item:hover{background-color:#484848!important;background-color:var(--bg-hover,#484848)!important;color:#fff!important;color:var(--text-primary,#fff)!important}.sidebar-item.active,.sidebar-item:hover{border-color:#007acc;border-color:var(--accent-primary,#007acc)}.sidebar-item.active{background-color:#007acc1a!important;background-color:var(--accent-light,#007acc1a)!important;color:#007acc!important;color:var(--accent-primary,#007acc)!important;font-weight:500}.main-area{display:flex;flex:1 1;flex-direction:column;margin-left:280px;margin-left:var(--sidebar-width,280px);transition:margin-left .3s ease}.main-area.expanded{margin-left:0}.app-header{background-color:#1a1a1a;background-color:var(--bg-primary,#1a1a1a);border-bottom:1px solid #484848;border-bottom:1px solid var(--border-color,#484848);box-shadow:0 2px 8px #0006;box-shadow:var(--shadow,0 2px 8px #0006);height:72px;justify-content:space-between;padding:1rem 1.5rem}.app-header,.app-header h1{align-items:center;display:flex}.app-header h1{color:#fff;color:var(--text-primary,#fff);font-size:1.375rem;font-weight:600;gap:.75rem;margin:0}.header-logo{height:32px;object-fit:contain;width:auto}.text-logo{align-items:center;display:inline-flex;gap:12px;height:36px}.logo-letters{-webkit-text-stroke:1px #0009;color:#fff;font-size:20px;font-weight:800;letter-spacing:2px}.logo-dots{display:inline-flex;gap:10px;margin-left:4px}.logo-dot{border-radius:50%;display:inline-block;filter:drop-shadow(0 0 4px rgba(0,0,0,.4));height:14px;width:14px}.dot-purple{background:#5b3fa6}.dot-teal{background:#10b4c6}.dot-green{background:#4caf50}.dot-orange{background:#ff9800}.header-controls{align-items:center;display:flex;gap:12px}.sidebar-toggle-btn,.upload-button{background-color:#000;border:none;border-radius:8px;box-shadow:0 2px 8px #0006;box-shadow:var(--shadow,0 2px 8px #0006);color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease}.sidebar-toggle-btn{align-items:center;display:flex;height:44px;justify-content:center;padding:12px;width:44px}.sidebar-toggle-btn:hover,.upload-button:hover{background-color:#333;transform:translateY(-1px)}.sidebar-toggle-btn:disabled,.upload-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.messages-container{background-color:#1a1a1a;background-color:var(--bg-primary,#1a1a1a);display:flex;flex:1 1;flex-direction:column;gap:12px;margin:0 auto;max-width:1100px;overflow-y:auto;padding:12px}.compact-table{border-collapse:collapse;table-layout:fixed;width:100%}.compact-table td,.compact-table th{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-table th{background:#252525;position:sticky;top:0}.review-card{background:#2a2a2a;border:1px solid #3a3a3a;border-radius:8px;font-size:13px;margin-bottom:10px;padding:10px}.review-title{color:#fff;font-size:16px;font-weight:700;margin-bottom:6px}.review-text{color:#e8e8e8;font-size:15px;line-height:1.55}.review-questions{background:#2a2a2a;border:1px solid #3a3a3a;border-radius:8px;padding:10px}.review-questions ul{list-style:none;margin:6px 0 0;padding-left:0}.review-questions li{align-items:center;display:flex;gap:8px;margin-bottom:6px}.qmark{align-items:center;background:#00a84e;border-radius:50%;color:#0b0b0b;display:inline-flex;font-size:12px;font-weight:800;height:18px;justify-content:center;width:18px}.question-link{background:#0000;border:none;color:#e6e6e6;cursor:pointer;font-size:13px;padding:0;text-align:left}.question-link:hover{color:#fff;text-decoration:underline}.welcome-message{background-color:#2d2d30;background-color:var(--bg-secondary,#2d2d30);border:1px solid #484848;border:1px solid var(--border-color,#484848);border-radius:12px;box-shadow:0 4px 12px #0000004d;box-shadow:var(--shadow-md,0 4px 12px #0000004d);margin:20px auto;max-width:900px;padding:40px 20px;text-align:center}.welcome-message h2{color:#fff;color:var(--text-primary,#fff);font-size:32px;font-weight:600;margin-bottom:16px}.welcome-message p{color:#ccc;color:var(--text-secondary,#ccc);font-size:16px;line-height:1.6;margin:0 auto 32px;max-width:600px}.features-row{flex-wrap:wrap;gap:32px;margin:0 auto;max-width:800px}.feature-item,.features-row{display:flex;justify-content:center}.feature-item{align-items:center;background-color:#3e3e42;background-color:var(--bg-tertiary,#3e3e42);border:1px solid #484848;border:1px solid var(--border-color,#484848);border-radius:8px;color:#ccc;color:var(--text-secondary,#ccc);flex:1 1;font-size:14px;font-weight:500;gap:8px;min-width:220px;padding:12px 16px;transition:all .2s ease}.feature-item:hover{background-color:#484848;background-color:var(--bg-hover,#484848);border-color:#000;border-color:var(--accent-primary,#000);color:#fff;color:var(--text-primary,#fff)}.feature-icon{color:#999;color:var(--text-muted,#999);flex-shrink:0}.feature-icon.orange{color:#ff8c00}.feature-icon.green{color:#32cd32}.feature-icon.blue{color:#4169e1}.upload-area{background-color:#3e3e42;background-color:var(--bg-tertiary,#3e3e42);border:2px dashed #484848;border:2px dashed var(--border-color,#484848);border-radius:12px;cursor:pointer;margin:32px 0;padding:40px 20px;text-align:center;transition:all .2s ease}.upload-area:hover{background-color:#484848;background-color:var(--bg-hover,#484848);border-color:#000;border-color:var(--accent-primary,#000)}.upload-icon{margin-bottom:16px}.upload-icon svg{color:#999;color:var(--text-muted,#999)}.upload-area h3{color:#fff;color:var(--text-primary,#fff);font-size:20px;font-weight:600;margin:0 0 8px}.upload-area p{color:#ccc;color:var(--text-secondary,#ccc);font-size:14px;margin:0 0 20px}.upload-btn{background-color:#000;border:none;border-radius:8px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease}.upload-btn:hover{background-color:#333;transform:translateY(-1px)}.suggested-questions{background-color:initial;border:none;border-radius:0;margin:20px auto;max-width:800px;padding:16px 0}.suggested-questions h3{color:#fff;color:var(--text-primary,#fff);font-size:18px;font-weight:600;margin:0 0 16px;text-align:left}.questions-list{display:flex;flex-wrap:wrap;gap:8px 10px}.suggested-question{align-items:center;background-color:#3e3e42;background-color:var(--bg-tertiary,#3e3e42);border:1px solid #484848;border:1px solid var(--border-color,#484848);border-radius:9999px;color:#ccc;color:var(--text-secondary,#ccc);cursor:pointer;display:inline-flex;gap:8px;max-width:100%;padding:8px 12px;transition:transform .12s ease,background-color .12s ease,border-color .12s ease,color .12s ease}.suggested-text{pointer-events:none}.suggested-question:hover{background-color:#484848;background-color:var(--bg-hover,#484848);border-color:#000;border-color:var(--accent-primary,#000);color:#fff;color:var(--text-primary,#fff);transform:translateY(-1px)}.suggested-question span:last-child{font-size:13px;line-height:1.3}.message{display:flex;flex-direction:column;gap:8px;max-width:800px}.message.user{align-self:flex-end}.message.assistant{align-self:flex-start}.message-content{border:1px solid #484848;border:1px solid var(--border-color,#484848);border-radius:8px;padding:12px}.message.user .message-content{background-color:#000;border-color:#333;color:#fff}.message.assistant .message-content{background-color:#2d2d30;border-color:#3a3a3d;color:#fff}.message-text{line-height:1.6;margin-bottom:12px}.message-time{color:#999;color:var(--text-muted,#999);font-size:12px;text-align:right}.structured-response{display:flex;flex-direction:column;gap:16px}.text-block{background-color:#3e3e42;background-color:var(--bg-tertiary,#3e3e42);border-left:4px solid #007acc;border-left:4px solid var(--accent-primary,#007acc);border-radius:8px;color:#fff;color:var(--text-primary,#fff);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.6;padding:16px}.code-block{background-color:#1e1e1e;border:1px solid #484848;border:1px solid var(--border-color,#484848);border-radius:8px;overflow:hidden}.code-block pre{margin:0;overflow-x:auto;padding:20px}.code-block code{color:#d4d4d4;font-family:Monaco,Menlo,Ubuntu Mono,Courier New,monospace;font-size:14px;line-height:1.5}.plots-container{display:flex;flex-direction:column;gap:16px;margin-top:12px}.plot-item{background-color:#2d2d30;background-color:var(--bg-secondary,#2d2d30);border:1px solid #484848;border:1px solid var(--border-color,#484848);border-radius:10px;padding:10px}.plot-header{border-bottom:1px solid #484848;border-bottom:1px solid var(--border-color,#484848);justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.plot-header,.plot-title{align-items:center;display:flex}.plot-title{gap:12px}.plot-type-badge{background-color:#000;background-color:var(--accent-primary,#000);border-radius:4px;font-size:11px;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.plot-title h4,.plot-type-badge{color:#fff;color:var(--text-primary,#fff);font-weight:600}.plot-title h4{font-size:16px;margin:0}.plot-actions{display:flex;gap:8px}.plot-action-btn{background-color:#3e3e42;background-color:var(--bg-tertiary,#3e3e42);border:1px solid #484848;border:1px solid var(--border-color,#484848);border-radius:4px;color:#ccc;color:var(--text-secondary,#ccc);cursor:pointer;font-size:14px;padding:6px 8px;transition:all .2s ease}.plot-action-btn:hover{background-color:#484848;background-color:var(--bg-hover,#484848);border-color:#000;border-color:var(--accent-primary,#000);color:#fff;color:var(--text-primary,#fff)}.plot-metadata{border-top:1px solid #484848;border-top:1px solid var(--border-color,#484848);margin-top:16px;padding-top:12px}.metadata-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.metadata-item{display:flex;flex-direction:column;gap:4px}.metadata-item .label{color:#999;color:var(--text-muted,#999);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.metadata-item .value{color:#ccc;color:var(--text-secondary,#ccc);font-size:13px;font-weight:500}.analysis-chart{background-color:#fff;border-radius:8px;cursor:pointer;display:block;filter:saturate(.9);height:auto;opacity:.9;transition:all .2s ease;width:100%}.toggle-code-btn{background:#3e3e42;background:var(--bg-tertiary,#3e3e42);border:1px solid #484848;border:1px solid var(--border-color,#484848);border-radius:6px;color:#ccc;color:var(--text-secondary,#ccc);cursor:pointer;font-size:12px;margin:6px 0 8px;padding:6px 10px}.toggle-code-btn:hover{background:#484848;background:var(--bg-hover,#484848);color:#fff;color:var(--text-primary,#fff)}.analysis-chart:hover{box-shadow:0 4px 12px #0000004d;filter:none;opacity:1;transform:scale(1.02)}.fullscreen-modal{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000e6;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fullscreen-content{background-color:#2d2d30;background-color:var(--bg-secondary,#2d2d30);border-radius:12px;display:flex;flex-direction:column;max-height:95vh;max-width:95vw;overflow:hidden}.modal-header{background-color:#1a1a1a;background-color:var(--bg-primary,#1a1a1a);border-bottom:1px solid #484848;border-bottom:1px solid var(--border-color,#484848);justify-content:space-between;padding:20px 24px}.modal-header,.modal-title{align-items:center;display:flex}.modal-title{gap:12px}.modal-title h3{color:#fff;color:var(--text-primary,#fff);font-size:20px;font-weight:600;margin:0}.modal-actions{display:flex;gap:12px}.modal-action-btn{background-color:#3e3e42;background-color:var(--bg-tertiary,#3e3e42);border:1px solid #484848;border:1px solid var(--border-color,#484848);border-radius:6px;color:#ccc;color:var(--text-secondary,#ccc);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.modal-action-btn:hover{background-color:#484848;background-color:var(--bg-hover,#484848);border-color:#000;border-color:var(--accent-primary,#000);color:#fff;color:var(--text-primary,#fff)}.modal-action-btn.close-btn:hover{background-color:#dc3545;border-color:#dc3545;color:#fff}.fullscreen-image-container{align-items:center;display:flex;flex:1 1;justify-content:center;min-height:0;padding:24px}.fullscreen-image{background-color:#fff;border-radius:8px;max-height:100%;max-width:100%;object-fit:contain}.fullscreen-metadata{background-color:#3e3e42;background-color:var(--bg-tertiary,#3e3e42);border-top:1px solid #484848;border-top:1px solid var(--border-color,#484848);padding:20px 24px}.fullscreen-metadata .metadata-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.error-section,.output-section{background-color:#3e3e42;background-color:var(--bg-tertiary,#3e3e42);border-left:4px solid #007acc;border-left:4px solid var(--accent-primary,#007acc);border-radius:8px;margin-top:16px;padding:16px}.error-section{background-color:#f443361a;background-color:var(--error-light,#f443361a);border-left-color:#f44336;border-left-color:var(--error-color,#f44336)}.error-section h4,.output-section h4{color:#fff;color:var(--text-primary,#fff);font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.code-output,.error-output{background-color:#1e1e1e;border:1px solid #484848;border:1px solid var(--border-color,#484848);border-radius:6px;color:#d4d4d4;font-family:Monaco,Menlo,Ubuntu Mono,Courier New,monospace;font-size:13px;line-height:1.4;margin:0;overflow-x:auto;padding:12px}.message-timestamp{align-self:flex-end;color:#999;color:var(--text-muted,#999);font-size:12px;padding:0 4px}.message.assistant .message-timestamp{align-self:flex-start}.loading-indicator{background-color:#2d2d30;background-color:var(--bg-secondary,#2d2d30);border:1px solid #484848;border:1px solid var(--border-color,#484848);border-radius:12px;box-shadow:0 4px 12px #0000004d;box-shadow:var(--shadow-md,0 4px 12px #0000004d);margin:20px auto;max-width:760px;padding:24px}.loading-inline{align-items:center;background:#3e3e42;background:var(--bg-tertiary,#3e3e42);border:1px solid #484848;border:1px solid var(--border-color,#484848);border-radius:8px;color:#ccc;color:var(--text-secondary,#ccc);display:inline-flex;font-size:12px;gap:8px;padding:6px 10px;width:fit-content}.loading-steps{flex-direction:column;margin-bottom:10px}.loading-steps,.step{display:flex;gap:10px}.step{align-items:center;background-color:#3e3e42;background-color:var(--bg-tertiary,#3e3e42);border:1px solid #484848;border:1px solid var(--border-color,#484848);border-radius:9999px;color:#ccc;color:var(--text-secondary,#ccc);padding:10px 14px;transition:all .2s ease;width:fit-content}.step.active{background-color:#007acc1a;background-color:var(--accent-light,#007acc1a);border-color:#000;border-color:var(--accent-primary,#000);box-shadow:0 4px 12px #00000059;color:#fff;color:var(--text-primary,#fff)}.step-icon{font-size:16px;text-align:center;width:24px}.step.active .step-icon{animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.loading-message{color:#ccc;color:var(--text-secondary,#ccc);font-size:13px;font-style:italic;text-align:right}.whimsical-loading{background:linear-gradient(135deg,#4b00821a,#ff8c001a);border:1px solid #ff8c0033;border-radius:8px;margin:16px 0;padding:12px;text-align:center}.whimsical-message{color:#fff;color:var(--text-primary,#fff);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;font-weight:600;margin-bottom:4px}.loading-timer{color:#ccc;color:var(--text-secondary,#ccc);font-size:11px;opacity:.7}.input-container{background-color:#2d2d30;background-color:var(--bg-secondary,#2d2d30);border-top:1px solid #484848;border-top:1px solid var(--border-color,#484848);padding:12px}.input-wrapper{align-items:flex-end;display:flex;gap:12px;margin:0 auto;max-width:800px}.input-wrapper textarea{background-color:#3e3e42;background-color:var(--bg-tertiary,#3e3e42);border:1px solid #484848;border:1px solid var(--border-color,#484848);border-radius:8px;color:#fff;color:var(--text-primary,#fff);flex:1 1;font-family:inherit;font-size:15px;line-height:1.5;min-height:60px;padding:16px 20px;resize:vertical;transition:all .2s ease}.input-wrapper textarea:focus{border-color:#007acc;border-color:var(--accent-primary,#007acc);box-shadow:0 0 0 2px #007acc1a;box-shadow:0 0 0 2px var(--accent-light,#007acc1a);outline:none}.input-wrapper textarea:disabled{cursor:not-allowed;opacity:.6}.input-wrapper textarea::placeholder{color:#999;color:var(--text-muted,#999)}.send-button{background-color:#000;border:none;border-radius:8px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;flex-shrink:0;font-size:18px;height:50px;transition:background-color .2s ease,transform .2s ease;width:50px}.send-button:hover:not(:disabled){background-color:#333;transform:translateY(-1px)}.send-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.spinner{animation:spin .8s linear infinite;border:2px solid #ffffff40;border-radius:50%;border-top-color:#fff;display:inline-block;height:18px;width:18px}@keyframes spin{to{transform:rotate(1turn)}}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#2d2d30;background-color:var(--bg-secondary,#2d2d30);border:1px solid #484848;border:1px solid var(--border-color,#484848);border-radius:12px;box-shadow:0 12px 32px #00000026;box-shadow:var(--shadow-xl,0 12px 32px #00000026);max-width:400px;padding:30px;text-align:center;width:90%}.modal-content h3{color:#fff;color:var(--text-primary,#fff);font-size:20px;font-weight:600;margin:0 0 16px}.modal-content p{color:#ccc;color:var(--text-secondary,#ccc);line-height:1.5;margin:0 0 24px}.modal-content button{background-color:#000;border:none;border-radius:8px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:14px;font-weight:500;margin:0 8px;padding:12px 24px;transition:all .2s ease}.modal-content button:hover{background-color:#333;transform:translateY(-1px)}@media (max-width:768px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.main-area{margin-left:0}.welcome-message{margin:20px;padding:40px 20px}.welcome-message h2{font-size:24px}.message{max-width:100%}}
/*# sourceMappingURL=main.e9633144.css.map*/