@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-primary:#0d0d0d;--bg-secondary:#171717;--bg-tertiary:#1f1f1f;--bg-hover:#2a2a2a;--bg-active:#333;--text-primary:#f5f5f5;--text-secondary:#a1a1a1;--text-muted:#6b6b6b;--accent:#10a37f;--accent-hover:#0d8a6c;--accent-subtle:#10a37f1a;--border:#2e2e2e;--border-subtle:#232323;--sidebar-width:280px;--header-height:56px;--input-max-width:768px;--transition-fast:.15s ease;--transition-normal:.2s ease;--transition-slow:.3s cubic-bezier(.4,0,.2,1);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5}.app-container{height:100vh;display:flex;position:relative;overflow:hidden}.sidebar-overlay{display:none}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-subtle);height:100vh;transition:transform var(--transition-slow);z-index:200;flex-direction:column;flex-shrink:0;display:flex}.sidebar.closed{position:absolute;transform:translate(-100%)}.sidebar-header{display:none}.conversations-list{flex:1;padding:8px;overflow-y:auto}.conversations-list::-webkit-scrollbar{width:6px}.conversations-list::-webkit-scrollbar-track{background:0 0}.conversations-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}.date-divider{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:12px 10px 8px;font-size:12px;font-weight:600}.convo-item{border-radius:var(--radius-md);width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;margin-bottom:2px;padding:12px 14px;font-size:14px;display:flex}.convo-item:hover{background:var(--bg-hover);color:var(--text-primary)}.convo-item.active{background:var(--bg-active);color:var(--text-primary)}.convo-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.main-content{background:var(--bg-primary);flex-direction:column;flex:1;min-width:0;height:100vh;display:flex}.content-header{height:var(--header-height);border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.header-left{align-items:center;gap:12px;display:flex}.menu-btn{border-radius:var(--radius-md);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.menu-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.chat-title{color:var(--text-primary);font-size:16px;font-weight:600}.view-toggle{background:var(--bg-secondary);border-radius:var(--radius-md);align-items:center;gap:4px;padding:4px;display:flex}.toggle-btn{border-radius:var(--radius-sm);width:36px;height:32px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.toggle-btn:hover{color:var(--text-secondary)}.toggle-btn.active{background:var(--bg-tertiary);color:var(--accent);box-shadow:0 1px 3px #0003}.content-area{flex-direction:row;flex:1;gap:0;padding:16px;display:flex;overflow:hidden}.content-area.is-dragging .animation-panel,.content-area.is-dragging .code-panel{transition:none!important}.content-area.is-dragging{cursor:col-resize}.animation-panel{background:var(--bg-secondary);border-radius:var(--radius-lg);transition:width var(--transition-fast);justify-content:center;align-items:center;height:100%;display:flex;overflow:hidden}.animation-gif{object-fit:contain;max-width:100%;max-height:100%}.empty-state,.loading-state{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.resize-handle{cursor:col-resize;width:8px;color:var(--text-muted);transition:color var(--transition-fast);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.resize-handle:hover,.resize-handle.dragging{color:var(--accent)}.code-panel{background:var(--bg-secondary);border-radius:var(--radius-lg);flex-direction:column;min-width:200px;height:100%;display:flex;overflow:hidden}.code-header{background:var(--bg-tertiary);border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.code-filename{color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:13px}.copy-btn{background:var(--bg-hover);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border:none;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:12px;display:flex}.copy-btn:hover{background:var(--bg-active);color:var(--text-primary)}.code-content{flex:1;overflow:auto}.code-content::-webkit-scrollbar{width:8px;height:8px}.code-content::-webkit-scrollbar-track{background:0 0}.code-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}.code-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.code-pre{min-width:max-content;background:0 0!important;margin:0!important;padding:16px!important;font-family:JetBrains Mono,monospace!important;font-size:13px!important;line-height:1.6!important}.code-line{gap:16px;display:flex}.line-number{color:var(--text-muted);-webkit-user-select:none;user-select:none;text-align:right;opacity:.5;min-width:32px}.line-content{white-space:pre;flex:1}.input-wrapper{flex-direction:column;flex-shrink:0;align-items:center;padding:16px 24px 24px;display:flex}.input-container{width:100%;max-width:var(--input-max-width);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--transition-fast);align-items:center;gap:12px;padding:12px 16px;display:flex}.input-container:focus-within{border-color:var(--text-muted);box-shadow:0 0 0 1px var(--text-muted)}.chat-input{min-height:24px;max-height:200px;color:var(--text-primary);resize:none;background:0 0;border:none;outline:none;flex:1;padding:0;font-family:inherit;font-size:15px;line-height:1.5}.chat-input::placeholder{color:var(--text-muted)}.chat-input:disabled{opacity:.5}.send-btn{background:var(--bg-tertiary);border-radius:var(--radius-md);width:36px;height:36px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.send-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-secondary)}.send-btn.active{background:var(--accent);color:#fff}.send-btn.active:hover{background:var(--accent-hover)}.send-btn:disabled{cursor:not-allowed;opacity:.5}.input-hint{color:var(--text-muted);margin-top:8px;font-size:12px}@media (max-width:768px){.sidebar-overlay{z-index:150;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;display:block;position:fixed;inset:0}.sidebar{z-index:200;width:280px;height:100vh;position:fixed;top:0;left:0;transform:translate(0)}.sidebar.closed{transform:translate(-100%)}.sidebar-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.sidebar-title{color:var(--text-primary);font-size:16px;font-weight:600}.sidebar-close-btn{border-radius:var(--radius-md);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.sidebar-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.content-area{flex-direction:column;gap:12px;padding:12px}.animation-panel,.code-panel{height:45%;min-height:200px;width:100%!important}.resize-handle{display:none}.input-wrapper{padding:12px 16px 16px}.chat-title{font-size:14px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.convo-item{animation:fadeIn var(--transition-normal)ease-out}
