:root{--bg:#080b12;--surface:#111827;--surface-2:#172033;--surface-3:#22304a;--border:#94a3b824;--border-hover:#94a3b842;--border-focus:#38bdf894;--text:#edf3fb;--text-muted:#9aa8ba;--text-subtle:#667085;--accent:#38bdf8;--accent-bg:#38bdf81f;--accent-border:#38bdf847;--green:#34d399;--green-bg:#34d3991a;--green-border:#34d3993d;--red:#ef4444;--red-bg:#ef44441a;--radius:8px;--radius-lg:12px;--transition:0.15s ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background:#080b12;background:var(--bg);color:#edf3fb;color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:13px;line-height:1.5}.logo{gap:9px;text-decoration:none;-webkit-user-select:none;user-select:none}.logo,.logo-icon{align-items:center;display:flex}.logo-icon{background:#38bdf8;background:var(--accent);border-radius:8px;flex-shrink:0;height:30px;justify-content:center;width:30px}.logo-icon svg{height:16px;width:16px}.logo-wordmark{display:flex;flex-direction:column;line-height:1}.logo-name{color:#fff;font-size:15px;font-weight:700;letter-spacing:-.3px}.logo-name span{color:#38bdf8;color:var(--accent)}.logo-tagline{color:#9aa8ba;color:var(--text-muted);font-size:10px;letter-spacing:.04em;margin-top:2px}.logo.logo-lg .logo-icon{border-radius:11px;height:42px;width:42px}.logo.logo-lg .logo-icon svg{height:22px;width:22px}.logo.logo-lg .logo-name{font-size:21px}.logo.logo-lg .logo-tagline{font-size:11px;margin-top:3px}.logo.logo-sm .logo-icon{border-radius:6px;height:24px;width:24px}.logo.logo-sm .logo-icon svg{height:13px;width:13px}.logo.logo-sm .logo-name{font-size:13px}.logo.logo-sm .logo-tagline{display:none}.container{align-items:center;display:flex;height:100vh;justify-content:center}.auth-box{background:#111827;background:var(--surface);border:1px solid #94a3b824;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-lg);padding:32px;width:360px}.auth-logo{display:flex;justify-content:center;margin-bottom:24px}.auth-box h2{font-size:18px;font-weight:600;margin-bottom:5px;text-align:center}.auth-subtitle{color:#9aa8ba;color:var(--text-muted);font-size:13px;margin-bottom:22px;text-align:center}.auth-error{background:#ef44441a;background:var(--red-bg);border:1px solid #ef444440;border-radius:8px;border-radius:var(--radius);color:#ef4444;color:var(--red);font-size:12px;padding:8px 12px;text-align:center}.auth-error,.field{margin-bottom:14px}.field label{color:#9aa8ba;color:var(--text-muted);display:block;font-size:11px;font-weight:500;margin-bottom:5px}.auth-box input{background:#172033;background:var(--surface-2);border:1px solid #94a3b824;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);color:#edf3fb;color:var(--text);font-size:13px;outline:none;padding:9px 12px;transition:border-color .15s ease,box-shadow .15s ease;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.auth-box input:hover{border-color:#94a3b842;border-color:var(--border-hover)}.auth-box input:focus{border-color:#38bdf894;border-color:var(--border-focus);box-shadow:0 0 0 3px #38bdf81f;box-shadow:0 0 0 3px var(--accent-bg)}.auth-box button{background:#38bdf8;background:var(--accent);border:none;border-radius:8px;border-radius:var(--radius);color:#fff;cursor:pointer;font-size:13px;font-weight:500;margin-top:4px;padding:10px;transition:opacity .15s ease,transform .1s;transition:opacity var(--transition),transform .1s;width:100%}.auth-box button:hover{opacity:.9}.auth-box button:active{transform:scale(.99)}.auth-box button:disabled{cursor:not-allowed;opacity:.6}.auth-box p{color:#9aa8ba;color:var(--text-muted);font-size:12px;margin-top:16px;text-align:center}.auth-box p a,.auth-box p span{color:#38bdf8;color:var(--accent);cursor:pointer;text-decoration:none}.dashboard{margin:0 auto;max-width:1100px;padding:32px}.dash-topbar{align-items:center;border-bottom:1px solid #94a3b824;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:28px;padding-bottom:20px}.dash-header{margin-bottom:22px}.dash-header h1{font-size:22px;font-weight:600;letter-spacing:-.3px}.dash-header p{color:#9aa8ba;color:var(--text-muted);margin-top:4px}.dash-top{display:flex;gap:10px;margin-bottom:20px}.dash-top input{background:#111827;background:var(--surface);border:1px solid #94a3b824;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);color:#edf3fb;color:var(--text);flex:1 1;font-size:13px;outline:none;padding:9px 13px;transition:border-color .15s ease;transition:border-color var(--transition)}.dash-top input:focus{border-color:#38bdf894;border-color:var(--border-focus)}.create-btn{background:#38bdf8;background:var(--accent);border:none;border-radius:8px;border-radius:var(--radius);color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:9px 16px;transition:opacity .15s ease;transition:opacity var(--transition);white-space:nowrap}.create-btn:hover{opacity:.9}.project-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr)}.project-card{background:#111827;background:var(--surface);border:1px solid #94a3b824;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-lg);cursor:pointer;padding:18px;transition:border-color .15s ease,background .15s ease;transition:border-color var(--transition),background var(--transition)}.project-card:hover{background:#141414;border-color:#94a3b842;border-color:var(--border-hover)}.project-card h3{font-size:14px;font-weight:600;margin-bottom:6px}.project-card p{line-height:1.5;margin-bottom:14px}.project-card button,.project-card p{color:#9aa8ba;color:var(--text-muted);font-size:12px}.project-card button{background:#172033;background:var(--surface-2);border:1px solid #94a3b824;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);cursor:pointer;padding:6px 12px;transition:color .15s ease,border-color .15s ease;transition:color var(--transition),border-color var(--transition)}.project-card button:hover{border-color:#94a3b842;border-color:var(--border-hover);color:#edf3fb;color:var(--text)}.project-card button.danger-btn{border-color:#ef44443d;color:#fca5a5}.project-card button.danger-btn:hover{border-color:#ef444473;color:#fecaca}.editor-layout{display:flex;height:100vh;overflow:hidden}.sidebar{background:var(--surface);border-right:1px solid #94a3b824;border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;width:210px}.sidebar-brand{border-bottom:1px solid #94a3b824;border-bottom:1px solid var(--border);flex-shrink:0;padding:14px 12px}.sidebar-files{display:flex;flex:1 1;flex-direction:column;padding:12px 10px}.sidebar-files h4{color:#667085;color:var(--text-subtle);font-size:10px;font-weight:600;letter-spacing:.09em;margin-bottom:8px;padding:0 8px;text-transform:uppercase}.sidebar-files>button{background:var(--surface-2);border:1px solid #94a3b824;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);color:#9aa8ba;color:var(--text-muted);cursor:pointer;font-size:12px;padding:7px 10px;text-align:left;transition:color .15s ease,border-color .15s ease;transition:color var(--transition),border-color var(--transition);width:100%}.sidebar-files>button:hover{border-color:#94a3b842;border-color:var(--border-hover);color:#edf3fb;color:var(--text)}.sidebar-item{border-radius:6px;color:#9aa8ba;color:var(--text-muted);cursor:pointer;font-size:12px;overflow:hidden;padding:7px 10px;text-overflow:ellipsis;transition:background .15s ease,color .15s ease;transition:background var(--transition),color var(--transition);white-space:nowrap}.sidebar-item:hover{background:#172033;background:var(--surface-2);color:#edf3fb;color:var(--text)}.sidebar-item.active{background:#38bdf81f;background:var(--accent-bg);color:#38bdf8;color:var(--accent)}.editor-main{display:flex;flex:1 1;flex-direction:column;overflow-y:auto}.editor-top{align-items:center;border-bottom:1px solid #94a3b824;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;flex-wrap:wrap;gap:10px;justify-content:space-between;padding:10px 14px}.editor-top>span{color:#9aa8ba;color:var(--text-muted);font-size:13px;font-weight:500}.editor-actions{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.editor-actions select{color:#edf3fb;color:var(--text);outline:none;padding:5px 9px}.editor-actions button,.editor-actions select{background:#172033;background:var(--surface-2);border:1px solid #94a3b824;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);cursor:pointer;font-size:12px}.editor-actions button{color:#9aa8ba;color:var(--text-muted);padding:5px 11px;transition:color .15s ease,border-color .15s ease;transition:color var(--transition),border-color var(--transition);white-space:nowrap}.editor-actions button:hover{border-color:#94a3b842;border-color:var(--border-hover);color:#edf3fb;color:var(--text)}.editor-actions button:disabled{cursor:not-allowed;opacity:.5}.editor-actions button.run-btn{background:#34d3991a;background:var(--green-bg);border-color:#34d3993d;border-color:var(--green-border);color:#34d399;color:var(--green);font-weight:500}.editor-actions button.run-btn:hover{background:#10b98129}.editor-actions button.invite-btn{background:#38bdf81f;background:var(--accent-bg);border-color:#38bdf847;border-color:var(--accent-border);color:#38bdf8;color:var(--accent);font-weight:500}.editor-actions button.invite-btn:hover{background:#6366f12e}.editor-actions button.active-tab-btn{background:#22304a;background:var(--surface-3);color:#edf3fb;color:var(--text)}.editor-tabs{align-items:center;background:#0b101a;border-bottom:1px solid #94a3b824;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;min-height:38px;overflow-x:auto;padding:0 10px}.editor-tab{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px 6px 0 0;color:#9aa8ba;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:12px;gap:8px;height:30px;margin-right:4px;max-width:180px;padding:0 8px 0 10px}.editor-tab span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-tab:hover{background:#172033;background:var(--surface-2);color:#edf3fb;color:var(--text)}.editor-tab.active{background:#111827;background:var(--surface);border-color:#94a3b824;border-color:var(--border);border-bottom-color:#111827;border-bottom-color:var(--surface);color:#edf3fb;color:var(--text)}.editor-tab-close{align-items:center;border-radius:4px;color:#667085;color:var(--text-subtle);display:inline-flex;flex-shrink:0;height:16px;justify-content:center;width:16px}.editor-tab-close:hover{background:#22304a;background:var(--surface-3);color:#edf3fb;color:var(--text)}.output{background:#0d0d0d;border:1px solid #94a3b824;border:1px solid var(--border);border-radius:var(--radius);margin:12px 14px 0;padding:12px 14px}.output h4{color:#667085;color:var(--text-subtle);font-size:10px;font-weight:600;letter-spacing:.09em;margin-bottom:8px;text-transform:uppercase}.output pre{color:#34d399;color:var(--green);font-family:Consolas,Fira Code,monospace;font-size:12px;line-height:1.6;white-space:pre-wrap;word-break:break-all}.commits{display:flex;flex-direction:column;gap:5px}.commit-card{align-items:center;background:#172033;background:var(--surface-2);border:1px solid #94a3b824;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);display:flex;gap:8px;padding:8px 12px;transition:border-color .15s ease;transition:border-color var(--transition)}.commit-card:hover{border-color:#94a3b842;border-color:var(--border-hover)}.commit-hash{background:#38bdf81f;background:var(--accent-bg);border-radius:4px;color:#38bdf8;color:var(--accent);flex-shrink:0;font-family:Consolas,monospace;font-size:11px;padding:2px 6px}.commit-msg{color:#edf3fb;color:var(--text);flex:1 1;font-size:12px}.commit-time{color:#9aa8ba;color:var(--text-muted);font-size:11px;white-space:nowrap}.context-menu{background:#172033;background:var(--surface-2);border:1px solid #94a3b842;border:1px solid var(--border-hover);border-radius:8px;border-radius:var(--radius);box-shadow:0 8px 24px #0006;min-width:140px;padding:4px;position:fixed;z-index:200}.context-item{border-radius:5px;color:#9aa8ba;color:var(--text-muted);cursor:pointer;font-size:12px;padding:7px 12px;transition:background .15s ease,color .15s ease;transition:background var(--transition),color var(--transition)}.context-item:hover{background:#22304a;background:var(--surface-3);color:#edf3fb;color:var(--text)}.context-item.danger:hover{color:#ef4444;color:var(--red)}.role-badge{border-radius:10px;font-size:10px;font-weight:500;padding:2px 7px}.role-owner{background:#6366f126;color:#38bdf8;color:var(--accent)}.role-editor{background:#10b9811f;color:#34d399;color:var(--green)}.role-viewer{background:#22304a;background:var(--surface-3);color:#9aa8ba;color:var(--text-muted)}.activity-panel{border-top:1px solid #94a3b824;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.activity-item{align-items:center;border-radius:8px;border-radius:var(--radius);display:flex;font-size:12px;gap:8px;padding:7px 10px;transition:background .15s ease;transition:background var(--transition)}.activity-item:hover{background:#172033;background:var(--surface-2)}.activity-icon{flex-shrink:0;font-size:13px}.activity-user{color:#edf3fb;color:var(--text);font-weight:500}.activity-action{color:#9aa8ba;color:var(--text-muted)}.activity-detail{color:#38bdf8;color:var(--accent);font-style:italic}.activity-time{color:#667085;color:var(--text-subtle);font-size:11px;margin-left:auto;white-space:nowrap}.toast-container{bottom:80px;flex-direction:column;gap:8px;left:50%;pointer-events:none;position:fixed;transform:translateX(-50%);z-index:999}.toast,.toast-container{align-items:center;display:flex}.toast{animation:toast-in .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;border-radius:var(--radius);font-size:13px;font-weight:500;gap:9px;padding:9px 16px;white-space:nowrap}.toast-success{background:#10b98126;border:1px solid #34d3993d;border:1px solid var(--green-border);color:#34d399;color:var(--green)}.toast-error{background:#ef44441a;background:var(--red-bg);border:1px solid #ef44444d;color:#ef4444;color:var(--red)}.toast-info{background:#172033;background:var(--surface-2);border:1px solid #94a3b842;border:1px solid var(--border-hover);color:#edf3fb;color:var(--text)}.toast-icon{font-size:14px;font-weight:700}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-btn{align-items:center;background:var(--accent);border:none;border-radius:50%;bottom:24px;cursor:pointer;display:flex;font-size:18px;height:46px;justify-content:center;position:fixed;right:24px;transition:transform .15s ease,opacity .15s ease;transition:transform var(--transition),opacity var(--transition);width:46px;z-index:100}.chat-btn:hover{opacity:.9;transform:scale(1.07)}.chat-fixed{background:var(--surface);border:1px solid #94a3b824;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-lg);bottom:80px;display:flex;flex-direction:column;height:420px;overflow:hidden;position:fixed;right:24px;width:320px;z-index:99}.chat-header{border-bottom:1px solid #94a3b824;border-bottom:1px solid var(--border);gap:10px;padding:12px 14px}.chat-header,.chat-header .avatar{align-items:center;display:flex;flex-shrink:0}.chat-header .avatar{background:#38bdf8;background:var(--accent);border-radius:50%;font-size:13px;height:28px;justify-content:center;width:28px}.chat-title{font-size:13px;font-weight:600}.chat-status{color:#34d399;color:var(--green);font-size:11px}.chat-body{display:flex;flex:1 1;flex-direction:column;gap:7px;overflow-y:auto;padding:10px 12px}.chat-body::-webkit-scrollbar{width:4px}.chat-body::-webkit-scrollbar-thumb{background:#22304a;background:var(--surface-3);border-radius:4px}.chat-msg{align-self:flex-start;background:var(--surface-2);border-radius:9px;border-bottom-left-radius:2px;color:#edf3fb;color:var(--text);font-size:12px;line-height:1.5;max-width:82%;padding:7px 10px;word-break:break-word}.chat-msg.me{align-self:flex-end;background:#38bdf8;background:var(--accent);border-bottom-left-radius:9px;border-bottom-right-radius:2px}.chat-input{border-top:1px solid #94a3b824;border-top:1px solid var(--border);display:flex;flex-shrink:0;gap:7px;padding:9px 11px}.chat-input input{background:#172033;background:var(--surface-2);border:1px solid #94a3b824;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);color:#edf3fb;color:var(--text);flex:1 1;font-size:12px;outline:none;padding:7px 10px;transition:border-color .15s ease;transition:border-color var(--transition)}.chat-input input:focus{border-color:#38bdf894;border-color:var(--border-focus)}.chat-input button{background:var(--accent);border:none;border-radius:8px;border-radius:var(--radius);color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:7px 13px;transition:opacity .15s ease;transition:opacity var(--transition);white-space:nowrap}.chat-input button:hover{opacity:.85}.landing{display:flex;flex-direction:column;min-height:100vh}.landing-nav{align-items:center;border-bottom:1px solid #94a3b824;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:18px 48px}.landing-nav-links{align-items:center;display:flex;gap:12px}.landing-nav-link{background:none;border:none;border-radius:8px;border-radius:var(--radius);color:#9aa8ba;color:var(--text-muted);cursor:pointer;font-size:13px;padding:6px 10px;transition:color .15s ease;transition:color var(--transition)}.landing-nav-link:hover{color:#edf3fb;color:var(--text)}.landing-cta-btn{background:#38bdf8;background:var(--accent);border:none;border-radius:8px;border-radius:var(--radius);color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:9px 20px;transition:opacity .15s ease;transition:opacity var(--transition)}.landing-cta-btn:hover{opacity:.9}.landing-cta-btn.lg{border-radius:12px;border-radius:var(--radius-lg);font-size:14px;padding:12px 28px}.landing-hero{align-items:center;display:flex;flex-direction:column;padding:80px 24px 60px;text-align:center}.landing-badge{background:#38bdf81f;background:var(--accent-bg);border:1px solid #38bdf847;border:1px solid var(--accent-border);border-radius:20px;color:#38bdf8;color:var(--accent);display:inline-flex;font-size:12px;font-weight:500;margin-bottom:24px;padding:5px 12px}.landing-headline{color:#fff;font-size:52px;font-weight:700;letter-spacing:-1.5px;line-height:1.1;margin-bottom:20px}.landing-sub{color:#9aa8ba;color:var(--text-muted);font-size:16px;line-height:1.7;margin-bottom:36px;max-width:480px}.landing-hero-btns{align-items:center;display:flex;gap:12px}.landing-ghost-btn{background:none;border:none;color:#9aa8ba;color:var(--text-muted);cursor:pointer;font-size:14px;padding:8px 4px;transition:color .15s ease;transition:color var(--transition)}.landing-ghost-btn:hover{color:#edf3fb;color:var(--text)}.landing-features{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:1100px;padding:0 48px 64px;width:100%}.landing-feature-card{background:#111827;background:var(--surface);border:1px solid #94a3b824;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-lg);padding:22px;transition:border-color .15s ease;transition:border-color var(--transition)}.landing-feature-card:hover{border-color:#94a3b842;border-color:var(--border-hover)}.landing-feature-icon{font-size:22px;margin-bottom:10px}.landing-feature-card h3{font-size:14px;font-weight:600;margin-bottom:6px}.landing-feature-card p{color:#9aa8ba;color:var(--text-muted);font-size:12px;line-height:1.6}.landing-footer{border-top:1px solid #94a3b824;border-top:1px solid var(--border);font-size:12px;gap:16px;margin-top:auto;padding:20px 48px}.dash-empty,.landing-footer{align-items:center;color:#9aa8ba;color:var(--text-muted);display:flex}.dash-empty{flex-direction:column;gap:12px;justify-content:center;padding:64px 0}.dash-empty-icon{font-size:36px;opacity:.4}.dash-empty p{font-size:13px}.modal-backdrop{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;position:fixed;z-index:300}.modal-box{background:#111827;background:var(--surface);border:1px solid #94a3b842;border:1px solid var(--border-hover);border-radius:12px;border-radius:var(--radius-lg);padding:24px;width:340px}.modal-input{background:#172033;background:var(--surface-2);border:1px solid #94a3b824;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);color:#edf3fb;color:var(--text);font-size:13px;margin-top:5px;outline:none;padding:8px 10px;transition:border-color .15s ease;transition:border-color var(--transition);width:100%}.modal-input:focus{border-color:#38bdf894;border-color:var(--border-focus)}.role-option{background:#172033;background:var(--surface-2);border:1px solid #94a3b824;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);color:#9aa8ba;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:12px;padding:7px 0;transition:all .15s ease;transition:all var(--transition)}.role-option.selected{background:#38bdf81f;background:var(--accent-bg);border-color:#38bdf8;border-color:var(--accent);color:#38bdf8;color:var(--accent);font-weight:500}.role-option:hover:not(.selected){border-color:#94a3b842;border-color:var(--border-hover);color:#edf3fb;color:var(--text)}.modal-cancel{background:#172033;background:var(--surface-2);border:1px solid #94a3b824;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);color:#9aa8ba;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:13px;padding:8px 0;transition:color .15s ease;transition:color var(--transition)}.modal-cancel:hover{color:#edf3fb;color:var(--text)}.modal-confirm{background:#38bdf8;background:var(--accent);border:none;border-radius:8px;border-radius:var(--radius);color:#fff;cursor:pointer;flex:1 1;font-size:13px;font-weight:500;padding:8px 0;transition:opacity .15s ease;transition:opacity var(--transition)}.modal-confirm:hover{opacity:.88}.modal-confirm:disabled{cursor:not-allowed;opacity:.6}.ai-btn{background:linear-gradient(135deg,#6366f133,#8b5cf633)!important;border-color:#8b5cf666!important;color:#a78bfa!important;font-weight:500!important}.ai-btn:hover{background:linear-gradient(135deg,#6366f14d,#8b5cf64d)!important}.ai-panel{background:var(--surface);border-left:1px solid #94a3b824;border-left:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;height:100vh;overflow:hidden;width:340px}.ai-panel-header{align-items:center;border-bottom:1px solid #94a3b824;border-bottom:1px solid var(--border);color:#a78bfa;display:flex;flex-shrink:0;font-size:13px;font-weight:600;justify-content:space-between;padding:12px 14px}.ai-quick-btns{display:flex;flex-shrink:0;gap:6px;padding:12px 14px 0}.ai-quick-btns button{background:#172033;background:var(--surface-2);border:1px solid #94a3b824;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);color:#9aa8ba;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:11px;padding:7px 0;transition:all .15s ease;transition:all var(--transition)}.ai-quick-btns button:hover:not(:disabled){background:#8b5cf614;border-color:#a78bfa;color:#a78bfa}.ai-quick-btns button:disabled{cursor:not-allowed;opacity:.5}.ai-freeform{display:flex;flex-shrink:0;gap:6px;padding:10px 14px}.ai-freeform input{background:#172033;background:var(--surface-2);border:1px solid #94a3b824;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);color:#edf3fb;color:var(--text);flex:1 1;font-size:12px;outline:none;padding:7px 10px;transition:border-color .15s ease;transition:border-color var(--transition)}.ai-freeform input:focus{border-color:#8b5cf680}.ai-freeform button{background:#8b5cf626;border:1px solid #8b5cf659;border-radius:8px;border-radius:var(--radius);color:#a78bfa;cursor:pointer;font-size:12px;font-weight:500;padding:7px 12px;transition:all .15s ease;transition:all var(--transition);white-space:nowrap}.ai-freeform button:hover:not(:disabled){background:#8b5cf640}.ai-freeform button:disabled{cursor:not-allowed;opacity:.5}.ai-result{border-top:1px solid #94a3b824;border-top:1px solid var(--border);flex:1 1;margin-top:6px;overflow-y:auto;padding:12px 14px}.ai-result::-webkit-scrollbar{width:4px}.ai-result::-webkit-scrollbar-thumb{background:#22304a;background:var(--surface-3);border-radius:4px}.ai-result pre{color:#edf3fb;color:var(--text);font-family:Consolas,Fira Code,monospace;font-size:12px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.ai-thinking{animation:ai-pulse 1.2s ease-in-out infinite;color:#a78bfa;font-size:13px}.ai-placeholder{color:#667085;color:var(--text-subtle);font-size:12px;line-height:1.6}@keyframes ai-pulse{0%,to{opacity:1}50%{opacity:.4}}:root{--app-bg:#080b12;--panel:#111827;--panel-raised:#172033;--panel-soft:#22304a;--line:#94a3b824;--line-strong:#94a3b83d;--blue:#38bdf8;--blue-soft:#38bdf821;--blue-line:#38bdf857;--amber:#fbbf24;--shadow-lg:0 18px 55px #0206179e}.editor-layout{background:#080b12;background:var(--app-bg)}.sidebar{background:#111827;background:var(--panel);border-right-color:#94a3b824;border-right-color:var(--line);width:238px}.sidebar-brand{background:hsla(0,0%,100%,.018);padding:16px 14px}.sidebar-files{padding:14px 12px}.sidebar-files>button{background:#172033;background:var(--panel-raised);border-color:#94a3b824;border-color:var(--line);color:#c7ccd6;font-weight:500;height:34px}.sidebar-files>button:hover,.sidebar-item:hover{background:#22304a;background:var(--panel-soft)}.sidebar-item{align-items:center;border:1px solid #0000;display:flex;min-height:30px}.sidebar-item.active{background:#38bdf821;background:var(--blue-soft);border-color:#38bdf857;border-color:var(--blue-line);color:#d9e6ff}.editor-main{background:#0e1014}.editor-top{background:#121418f0;border-bottom-color:#94a3b824;border-bottom-color:var(--line);box-shadow:0 1px 0 hsla(0,0%,100%,.025);min-height:56px;padding:11px 16px}.editor-top span{color:#d7dce6}.editor-actions{gap:8px}.editor-actions button,.editor-actions select{background:#172033;background:var(--panel-raised);border-color:#94a3b824;border-color:var(--line);color:#c6ccd8;font-weight:500;min-height:32px}.editor-actions button:hover,.editor-actions select:hover{background:#22304a;background:var(--panel-soft);border-color:#94a3b83d;border-color:var(--line-strong)}.editor-actions button.run-btn{background:#10b9811f;box-shadow:inset 0 0 0 1px #10b9810d}.editor-actions button.ai-btn,.editor-actions button.invite-btn{background:#38bdf821!important;background:var(--blue-soft)!important;border-color:#38bdf857!important;border-color:var(--blue-line)!important;color:#f2f2f2!important}.editor-actions button.active-tab-btn{background:#232833;color:#fff}.output{background:#0b0d11;border-color:#94a3b824;border-color:var(--line);border-radius:8px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.025)}.output pre{color:#8ee6bb;word-break:normal}.activity-item,.commit-card{background:#172033;background:var(--panel-raised)}.chat-btn{background:#38bdf8;background:var(--blue);box-shadow:0 14px 36px #00000073;height:48px;width:48px}.chat-fixed{background:#111827;background:var(--panel);border-color:#94a3b83d;border-color:var(--line-strong);border-radius:8px;box-shadow:0 18px 55px #0206179e;box-shadow:var(--shadow-lg);height:min(520px,calc(100vh - 112px));width:360px}.chat-header{background:hsla(0,0%,100%,.025);padding:14px 16px}.chat-header .avatar{background:#38bdf821;background:var(--blue-soft);border:1px solid #38bdf857;border:1px solid var(--blue-line);color:#f2f2f2}.chat-body{gap:10px;padding:14px}.chat-msg{background:#22304a;background:var(--panel-soft);border:1px solid #94a3b824;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 20px #00000024;color:#e5e9f0;max-width:86%;padding:9px 11px}.chat-msg.me{background:#244e93;border-color:#8bb3ff47;color:#fff}.chat-msg-author{color:#9aa4b5;display:block;font-size:10px;font-weight:700;letter-spacing:0;margin-bottom:3px}.chat-msg.me .chat-msg-author{color:#ffffffc2}.chat-input{background:hsla(0,0%,100%,.018);padding:12px}.chat-input input{background:#0f1218;min-height:36px}.chat-input button{background:#38bdf8;background:var(--blue);font-weight:600;min-width:68px}.ai-panel{background:#111827;background:var(--panel);border-left-color:#94a3b83d;border-left-color:var(--line-strong);box-shadow:-14px 0 44px #00000038;width:390px}.ai-panel-header{background:hsla(0,0%,100%,.025);color:#dce7ff;min-height:56px;padding:14px 16px}.ai-quick-btns{gap:8px;padding:14px 16px 0}.ai-freeform button,.ai-quick-btns button{background:#38bdf821;background:var(--blue-soft);border-color:#38bdf857;border-color:var(--blue-line);color:#f2f2f2;font-weight:600;min-height:34px}.ai-freeform button:hover:not(:disabled),.ai-quick-btns button:hover:not(:disabled){background:#38bdf838;color:#fff}.ai-freeform{gap:8px;padding:10px 16px 14px}.ai-freeform input{background:#0f1218;min-height:36px}.ai-result{background:#0f1116;border-top-color:#94a3b824;border-top-color:var(--line);margin-top:0;padding:16px}.ai-response{display:flex;flex-direction:column;gap:12px}.ai-response p{color:#d7dce6;font-size:12px;line-height:1.7;white-space:pre-wrap}.ai-code-block{background:#090b0f;border:1px solid #94a3b83d;border:1px solid var(--line-strong);border-radius:8px;overflow:hidden}.ai-code-toolbar{align-items:center;background:#171b22;border-bottom:1px solid #94a3b824;border-bottom:1px solid var(--line);display:flex;gap:10px;justify-content:space-between;min-height:36px;padding:7px 9px 7px 12px}.ai-code-toolbar span{color:#98a4b8;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ai-copy-btn{background:#202633;border:1px solid #94a3b83d;border:1px solid var(--line-strong);border-radius:6px;color:#dbe5f7;cursor:pointer;font-size:11px;font-weight:700;height:26px;min-width:58px;padding:0 10px;transition:background .15s ease,border-color .15s ease,color .15s ease;transition:background var(--transition),border-color var(--transition),color var(--transition)}.ai-copy-btn:hover{background:#38bdf821;background:var(--blue-soft);border-color:#38bdf857;border-color:var(--blue-line);color:#fff}.ai-code-block pre{color:#e8edf7;margin:0;max-height:360px;overflow:auto;padding:14px;white-space:pre;word-break:normal}.ai-code-block code{font-family:Consolas,Fira Code,SFMono-Regular,monospace;font-size:12px;line-height:1.65}.ai-placeholder{background:hsla(0,0%,100%,.018);border:1px dashed #94a3b83d;border:1px dashed var(--line-strong);border-radius:8px;color:#8f98a8;padding:18px}@media (max-width:900px){.sidebar{width:210px}.ai-panel{inset:0 0 0 auto;position:fixed;width:min(390px,100vw);z-index:180}.chat-fixed{bottom:72px;right:12px;width:calc(100vw - 24px)}}body{background:radial-gradient(circle at 16% -12%,#38bdf821,#0000 31%),radial-gradient(circle at 86% 0,#34d39914,#0000 28%),linear-gradient(180deg,#0f172a,#080b12 48%,#05070c)}.logo-icon{background:linear-gradient(145deg,#38bdf8,#2563eb);box-shadow:0 10px 26px #2563eb47}.auth-box p a,.auth-box p span,.logo-name span{color:#7dd3fc}.auth-box,.modal-box,.project-card{background:#111827f5;border-color:#94a3b824;border-color:var(--line);box-shadow:0 18px 55px #0206178a}.auth-box input,.dash-top input,.modal-input{background:#0f172a;border-color:#94a3b824;border-color:var(--line)}.auth-box button,.create-btn,.landing-cta-btn,.modal-confirm{background:linear-gradient(180deg,#38bdf8,#0284c7);color:#06121f;font-weight:700}.landing-feature-card:hover,.project-card:hover{background:#172033;border-color:#38bdf83d}.landing-badge,.role-editor,.role-owner{background:#38bdf81f;border-color:#38bdf847;color:#7dd3fc}.editor-layout{background:linear-gradient(180deg,#38bdf817,#0000 240px),#080b12}.editor-main{background:radial-gradient(circle at 50% -18%,#38bdf814,#0000 31%),#0b101a}.ai-panel,.chat-fixed,.sidebar{background:#111827fa}.ai-panel-header,.chat-header,.editor-top,.sidebar-brand{background:linear-gradient(180deg,#172033fa,#111827fa)}.ai-freeform button,.ai-quick-btns button,.editor-actions button.ai-btn,.editor-actions button.invite-btn{background:linear-gradient(180deg,#38bdf829,#2563eb1f)!important;border-color:#38bdf84d!important;color:#bae6fd!important}.editor-actions button.run-btn{background:#34d3991f;border-color:#34d39940;color:#86efac}.chat-btn,.chat-input button{background:linear-gradient(180deg,#38bdf8,#0284c7);color:#06121f}.chat-msg{background:#172033;border-color:#94a3b821}.chat-msg.me{background:linear-gradient(180deg,#0ea5e9,#2563eb);border-color:#7dd3fc47}.ai-code-toolbar span,.chat-msg-author{color:#93a4bb}.ai-result{background:#0b101a}.ai-code-block{background:#05070c;border-color:#94a3b82e}.ai-code-toolbar{background:#172033}.ai-copy-btn{background:#38bdf81f;border-color:#38bdf847;color:#bae6fd}.ai-copy-btn:hover{background:#38bdf8;border-color:#38bdf8;color:#06121f}.ai-code-block pre{color:#e5edf7}.ai-placeholder,.output{background:#080b12a3;border-color:#94a3b829}
/*# sourceMappingURL=main.50a0366f.css.map*/