@import "https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500&family=Inter:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap";:root{--bg-main:#080b11;--bg-panel:#0d132199;--bg-panel-solid:#0d121f;--bg-header:#060910;--bg-active:#6366f11f;--bg-hover:#ffffff0a;--border-color:#ffffff0f;--border-color-active:#6366f166;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#475569;--accent-primary:#6366f1;--accent-primary-hover:#4f46e5;--accent-secondary:#06b6d4;--accent-secondary-hover:#0891b2;--accent-run:#10b981;--accent-run-hover:#059669;--accent-error:#f43f5e;--accent-warning:#f59e0b;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-display:"Outfit", sans-serif;--font-mono:"Fira Code", monospace;--shadow-sm:0 1px 2px 0 #0006;--shadow-md:0 4px 20px -2px #00000080, 0 2px 8px -1px #0000004d;--shadow-lg:0 20px 25px -5px #0009, 0 8px 10px -6px #00000080;--shadow-glow:0 0 15px #6366f126;--border-radius:12px;--border-radius-sm:6px;--transition-speed:.25s;--scrollbar-thumb:#fff3;--scrollbar-thumb-hover:#ffffff59}.light-theme{--bg-main:#f8fafc;--bg-panel:#ffffffbf;--bg-panel-solid:#fff;--bg-header:#f1f5f9;--bg-active:#6366f114;--bg-hover:#0f172a0a;--border-color:#0f172a14;--border-color-active:#6366f14d;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--accent-primary:#4f46e5;--accent-primary-hover:#4338ca;--accent-secondary:#0891b2;--accent-secondary-hover:#0e7490;--shadow-sm:0 1px 2px 0 #00000005;--shadow-md:0 4px 16px -2px #0f172a0d, 0 2px 6px -1px #0f172a08;--shadow-lg:0 16px 24px -4px #0f172a0f, 0 6px 12px -3px #0f172a0a;--shadow-glow:0 0 12px #4f46e51a;--scrollbar-thumb:#0f172a26;--scrollbar-thumb-hover:#0f172a4d}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-main);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);transition:background var(--transition-speed);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}@keyframes slideInRight{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes pulseRing{0%{transform:scale(.95);box-shadow:0 0 #10b98180}70%{transform:scale(1);box-shadow:0 0 0 6px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}.ai-pulse{animation:1.8s ease-in-out infinite pulse;display:inline-block}.glass-panel{background:var(--bg-panel);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);box-shadow:var(--shadow-md)}.glass-panel-solid{background:var(--bg-panel-solid);border:1px solid var(--border-color)}.ide-header{border-bottom:1px solid var(--border-color);background:var(--bg-header);z-index:100;height:56px;box-shadow:var(--shadow-sm);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 20px;display:flex}.toolbar-brand-title{font-size:19px;font-weight:800;font-family:var(--font-display);background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;align-items:center;gap:8px;margin:0;display:flex}.toolbar-select{background:var(--bg-panel-solid);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:13px;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-speed) ease;box-shadow:var(--shadow-sm);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:12px;outline:none;padding:6px 28px 6px 12px}.toolbar-select option{color:#f8fafc;background:#0d121f}.toolbar-select:hover{border-color:var(--border-color-active);background-color:var(--bg-hover);box-shadow:var(--shadow-glow)}.toolbar-select:focus{border-color:var(--accent-primary);box-shadow:var(--shadow-glow)}.run-btn{background:var(--accent-run);color:#fff;border-radius:var(--border-radius-sm);cursor:pointer;font-family:var(--font-sans);transition:all var(--transition-speed) cubic-bezier(.4, 0, .2, 1);border:none;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;display:flex;box-shadow:0 4px 12px #10b98126}.run-btn:hover:not(:disabled){background:var(--accent-run-hover);transform:translateY(-1px);box-shadow:0 6px 16px #10b9814d}.run-btn:active:not(:disabled){transform:translateY(0)}.run-btn:disabled{opacity:.5;cursor:not-allowed}.secondary-btn{background:var(--bg-panel-solid);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;font-family:var(--font-sans);transition:all var(--transition-speed) ease;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:500;display:flex}.secondary-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-color-active)}.secondary-btn:active{background:var(--bg-active)}.action-icon-btn{border:1px solid var(--border-color);background:var(--bg-panel-solid);width:34px;height:34px;color:var(--text-secondary);border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-speed) cubic-bezier(.4, 0, .2, 1);justify-content:center;align-items:center;display:flex}.chat-copy-btn:hover{opacity:1!important;color:var(--text-primary)!important;border-color:var(--border-color-active)!important}.action-icon-btn:hover{color:var(--text-primary);border-color:var(--border-color-active);background:var(--bg-hover);transform:translateY(-1px)}.action-icon-btn:active{transform:translateY(0)}.toolbar-badge{color:var(--accent-primary);font-size:11px;font-weight:700;font-family:var(--font-sans);letter-spacing:.02em;background:#6366f114;border:1px solid #6366f126;border-radius:99px;align-items:center;padding:4px 10px;display:inline-flex}.activity-bar{background:var(--bg-header);border-right:1px solid var(--border-color);z-index:10;flex-direction:column;flex-shrink:0;align-items:center;gap:12px;width:64px;padding:16px 0;display:flex}@media (width<=767px){.activity-bar{border-right:none;border-top:1px solid var(--border-color);flex-direction:row;justify-content:space-around;width:100%;height:56px;padding:0;position:fixed;bottom:0;left:0}}.activity-btn{border-radius:var(--border-radius-sm);width:48px;height:48px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-speed) cubic-bezier(.4, 0, .2, 1);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.activity-btn:hover{color:var(--text-primary);background:var(--bg-hover);transform:scale(1.02)}.activity-btn.active{color:var(--accent-primary);background:var(--bg-active)}.activity-btn.active:before{content:"";background:var(--accent-primary);width:3px;box-shadow:0 0 10px var(--accent-primary);border-radius:0 4px 4px 0;position:absolute;top:14px;bottom:14px;left:0}@media (width<=767px){.activity-btn.active:before{border-radius:4px 4px 0 0;width:auto;height:3px;inset:auto 14px 0}}.activity-btn-label{letter-spacing:.02em;margin-top:4px;font-size:9px;font-weight:600}.chat-bubble{word-break:break-word;max-width:90%;box-shadow:var(--shadow-sm);transition:all var(--transition-speed) ease;border-radius:12px;margin-bottom:14px;padding:12px 16px;font-size:13.5px;line-height:1.55;display:inline-block}.chat-bubble-user{background:linear-gradient(135deg, var(--accent-primary), #4f46e5);color:#fff;border-bottom-right-radius:2px;align-self:flex-end}.chat-bubble-assistant{background:var(--bg-panel-solid);color:var(--text-primary);border:1px solid var(--border-color);border-bottom-left-radius:2px;align-self:flex-start}.menu-item{cursor:pointer;color:var(--text-secondary);transition:all var(--transition-speed) ease;align-items:center;gap:10px;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.menu-item:hover{background:var(--bg-active);color:var(--text-primary)}.menu-item-danger:hover{color:var(--accent-error);background:#f43f5e1f}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#04060ab3;justify-content:center;align-items:center;animation:.25s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-panel-solid);border:1px solid var(--border-color);border-radius:var(--border-radius);width:440px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-lg);padding:28px;animation:.3s cubic-bezier(.34,1.56,.64,1) slideUp}.modal-content h3{color:var(--text-primary);font-size:19px;font-weight:700;font-family:var(--font-display);margin-top:0;margin-bottom:12px}.modal-content p{color:var(--text-secondary);margin-bottom:20px;font-size:14px;line-height:1.6}.modal-content ul{background:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);max-height:150px;margin:0 0 20px;padding:12px 16px 12px 32px;overflow-y:auto}.modal-content li{color:var(--accent-secondary);font-family:var(--font-mono);margin-bottom:6px;font-size:12.5px}.modal-content li:last-child{margin-bottom:0}.dependency-output{border:1px solid var(--border-color);border-radius:var(--border-radius-sm);max-height:140px;color:var(--text-secondary);font-family:var(--font-mono);white-space:pre-wrap;background:#00000040;margin:-8px 0 20px;padding:12px;font-size:12px;line-height:1.55;overflow:auto}.modal-actions{justify-content:flex-end;gap:12px;display:flex}.modal-actions button:disabled{cursor:wait;opacity:.7}.bottom-panel-resize-handle{cursor:ns-resize;z-index:50;height:5px;transition:background var(--transition-speed) ease;background:0 0;flex-shrink:0;position:relative}.bottom-panel-resize-handle:hover,.bottom-panel-resize-handle:active{background:var(--accent-primary)}.bottom-panel-tab-bar{background:var(--bg-header);border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:4px;min-height:40px;padding:0 12px;display:flex}.bottom-panel-tab{color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);transition:all var(--transition-speed) ease;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:6px 14px;font-size:12.5px;font-weight:600;display:flex}.bottom-panel-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.bottom-panel-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary);background:0 0}.bottom-panel-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.bottom-panel-placeholder{color:var(--text-muted);background:var(--bg-main);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;font-size:13.5px;display:flex}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:12px;display:flex;position:fixed;top:24px;right:24px}.toast{pointer-events:auto;border-radius:var(--border-radius-sm);border:1px solid var(--border-color);min-width:300px;max-width:420px;box-shadow:var(--shadow-lg);color:var(--text-primary);-webkit-backdrop-filter:blur(12px);background:#0d121ef2;align-items:center;gap:14px;padding:14px 18px;font-size:13.5px;font-weight:500;animation:.3s cubic-bezier(.16,1,.3,1) forwards slideInRight;display:flex}.toast-success{border-left:4px solid var(--accent-run)}.toast-error{border-left:4px solid var(--accent-error)}.toast-info{border-left:4px solid var(--accent-primary)}.toast-warning{border-left:4px solid var(--accent-warning)}.toast-icon{justify-content:center;align-items:center;font-size:18px;display:flex}.toast-success .toast-icon{color:var(--accent-run)}.toast-error .toast-icon{color:var(--accent-error)}.toast-info .toast-icon{color:var(--accent-primary)}.toast-warning .toast-icon{color:var(--accent-warning)}.toast-content{flex:1;line-height:1.4}.toast-close{color:var(--text-muted);cursor:pointer;transition:all var(--transition-speed);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;font-size:16px;display:flex}.toast-close:hover{color:var(--text-primary);background:var(--bg-hover)}.file-tree-row{transition:all var(--transition-speed) ease;-webkit-user-select:none;user-select:none}.file-tree-row:hover{background:var(--bg-hover)}.connection-pulse{animation:1.8s cubic-bezier(.455,.03,.515,.955) infinite pulseRing}.plan-modal-content{background:var(--bg-panel-solid);border:1px solid var(--border-color);border-radius:var(--border-radius);width:580px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);box-shadow:var(--shadow-lg), var(--shadow-glow);flex-direction:column;gap:20px;padding:28px;animation:.3s cubic-bezier(.34,1.56,.64,1) slideUp;display:flex;overflow:hidden}.plan-description-card{background:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);padding:14px 18px;font-size:13.5px;line-height:1.6}.plan-files-container{flex-direction:column;gap:12px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.plan-files-group{flex-direction:column;gap:6px;display:flex}.plan-files-group-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:11px;font-weight:700}.plan-file-row{border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-family:var(--font-mono);background:#ffffff05;justify-content:space-between;align-items:center;padding:8px 12px;font-size:12.5px;display:flex}.plan-badge{text-transform:uppercase;letter-spacing:.02em;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700}.plan-badge-new{color:var(--accent-run);background:#10b9811f;border:1px solid #10b98140}.plan-badge-edit{color:var(--accent-warning);background:#f59e0b1f;border:1px solid #f59e0b40}.plan-loading-overlay{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:40px 0;display:flex}.plan-spinner{border:4px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.diff-box{background:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-family:var(--font-mono);flex-shrink:0;margin-top:8px;font-size:12px;overflow:hidden}.diff-title{background:var(--bg-panel-solid);text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:8px 12px;font-size:11px;font-weight:700;display:flex}.diff-code-container{flex-direction:column;display:flex}.diff-section-header{opacity:.8;padding:4px 12px;font-size:11px;font-weight:700}.diff-original-header{color:var(--accent-error);background:#f43f5e26;border-bottom:1px solid #f43f5e33}.diff-updated-header{color:var(--accent-run);background:#10b98126;border-bottom:1px solid #10b98133}.diff-original{color:#fda4af;white-space:pre;word-break:normal;word-wrap:normal;border-bottom:1px solid var(--border-color);border-left:3px solid var(--accent-error);background:#f43f5e14;max-height:250px;padding:10px 12px 18px;overflow:auto}.diff-updated{color:#a7f3d0;white-space:pre;word-break:normal;word-wrap:normal;border-left:3px solid var(--accent-run);background:#10b98114;max-height:250px;padding:10px 12px 18px;overflow:auto}.light-theme .diff-original{color:#b91c1c;background:#f43f5e1a}.light-theme .diff-updated{color:#047857;background:#10b9811a}.diff-new-file-preview{border-radius:var(--border-radius-sm);font-family:var(--font-mono);background:#10b98105;border:1px solid #10b98126;margin-top:8px;font-size:12px;overflow:hidden}.diff-new-file-code{white-space:pre;word-break:normal;word-wrap:normal;max-height:350px;color:var(--text-primary);background:var(--bg-main);border-left:3px solid var(--accent-run);padding:10px 12px 18px;overflow:auto}.collapsible-trigger{cursor:pointer;width:100%;color:var(--text-primary);font-family:var(--font-sans);text-align:left;border-radius:var(--border-radius-sm);transition:background var(--transition-speed);background:0 0;border:none;justify-content:space-between;align-items:center;padding:10px 14px;font-size:13.5px;font-weight:600;display:flex}.collapsible-trigger:hover{background:var(--bg-hover)}.plan-modal-content.large{width:900px;max-width:calc(100vw - 32px)}.diff-split-container{gap:12px;width:100%;display:flex}.diff-split-pane{flex-direction:column;flex:1;min-width:0;display:flex}.diff-split-pane .diff-original,.diff-split-pane .diff-updated{border-bottom:none;max-height:250px;overflow:auto}.diff-chevron{transition:transform var(--transition-speed) ease}.diff-chevron.expanded{transform:rotate(90deg)}.diff-empty-state{text-align:center;color:var(--text-muted);padding:12px;font-style:italic}.diff-original::-webkit-scrollbar{width:8px!important;height:8px!important}.diff-updated::-webkit-scrollbar{width:8px!important;height:8px!important}.diff-new-file-code::-webkit-scrollbar{width:8px!important;height:8px!important}.diff-original::-webkit-scrollbar-thumb{background:#ffffff40!important;border-radius:99px!important}.diff-updated::-webkit-scrollbar-thumb{background:#ffffff40!important;border-radius:99px!important}.diff-new-file-code::-webkit-scrollbar-thumb{background:#ffffff40!important;border-radius:99px!important}.diff-original::-webkit-scrollbar-thumb:hover{background:#ffffff73!important}.diff-updated::-webkit-scrollbar-thumb:hover{background:#ffffff73!important}.diff-new-file-code::-webkit-scrollbar-thumb:hover{background:#ffffff73!important}.light-theme .diff-original::-webkit-scrollbar-thumb{background:#0f172a33!important}.light-theme .diff-updated::-webkit-scrollbar-thumb{background:#0f172a33!important}.light-theme .diff-new-file-code::-webkit-scrollbar-thumb{background:#0f172a33!important}.light-theme .diff-original::-webkit-scrollbar-thumb:hover{background:#0f172a66!important}.light-theme .diff-updated::-webkit-scrollbar-thumb:hover{background:#0f172a66!important}.light-theme .diff-new-file-code::-webkit-scrollbar-thumb:hover{background:#0f172a66!important}
