html,body,#root{width:100%;min-height:100%}body{color:#f1f5f9;background:#080b0f;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.topbar{z-index:100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080b0ff5;border-bottom:1px solid #222831;justify-content:space-between;align-items:center;height:72px;padding:0 32px;display:flex;position:sticky;top:0}.brand-icon{color:#061014;background:linear-gradient(135deg,#22d3ee,#3b82f6);border-radius:11px;justify-content:center;align-items:center;width:42px;height:42px;font-size:12px;font-weight:800;display:flex;box-shadow:0 0 25px #22d3ee2e}.status{color:#8b95a5;background:#11161d;border:1px solid #252c35;border-radius:20px;align-items:center;gap:8px;padding:7px 12px;font-size:11px;display:flex}.upload-card:hover{background:#141a21;border-color:#303a46}.upload-icon{color:#22d3ee;background:#22d3ee1a;border-radius:11px;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;font-weight:600;display:flex}.file-picker{color:#8b95a5;cursor:pointer;background:#0c1015;border:1px solid #29313b;border-radius:9px;flex:1;align-items:center;height:44px;padding:0 14px;font-size:12px;transition:all .2s;display:flex}.file-picker:hover{color:#e2e8f0;border-color:#22d3ee}.success-icon{color:#22c55e;background:#22c55e1f;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;display:flex}.panel-header,.chat-header{background:#121820;border-bottom:1px solid #252c35;justify-content:space-between;align-items:center;min-height:66px;padding:12px 18px;display:flex}.panel-title h2{font-size:13px;font-weight:650}.panel-title>div>span{text-overflow:ellipsis;white-space:nowrap;color:#697586;max-width:300px;margin-top:3px;font-size:10px;display:block;overflow:hidden}.panel-icon{color:#22d3ee;background:#22d3ee1a;border-radius:9px;justify-content:center;align-items:center;width:35px;height:35px;font-family:monospace;font-size:12px;display:flex}.code-preview::-webkit-scrollbar{width:7px}.messages::-webkit-scrollbar{width:7px}.code-preview::-webkit-scrollbar-track{background:0 0}.messages::-webkit-scrollbar-track{background:0 0}.code-preview::-webkit-scrollbar-thumb{background:#2b333e;border-radius:10px}.messages::-webkit-scrollbar-thumb{background:#2b333e;border-radius:10px}.empty-code{text-align:center;color:#697586;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:500px;display:flex}.empty-icon{color:#22d3ee;background:#22d3ee1a;border-radius:15px;justify-content:center;align-items:center;width:62px;height:62px;margin-bottom:16px;font-family:monospace;font-size:18px;display:flex}.empty-code p{color:#697586;font-size:11px}.ai-avatar{color:#061014;background:linear-gradient(135deg,#22d3ee,#3b82f6);border-radius:9px;justify-content:center;align-items:center;width:35px;height:35px;font-size:10px;font-weight:800;display:flex}.mode-selector button{color:#697586;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;height:32px;font-size:11px;font-weight:650;transition:all .2s}.mode-selector button.active-mode{color:#22d3ee;background:#22d3ee1a;box-shadow:inset 0 0 0 1px #22d3ee26}.ai-message{color:#aeb8c5;background:#171d25;border:1px solid #252c35;border-bottom-left-radius:3px}.message-content{word-wrap:break-word}.empty-chat{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:380px;display:flex}.empty-chat p{color:#697586;margin-bottom:18px;font-size:11px}.suggestions button{color:#8b95a5;cursor:pointer;background:#0c1015;border:1px solid #252c35;border-radius:7px;padding:7px 10px;font-size:10px;transition:all .2s}.suggestions button:hover{color:#22d3ee;border-color:#22d3ee}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}.chat-input{background:#11161d;border-top:1px solid #252c35;gap:8px;padding:12px;display:flex}.chat-input input{color:#f1f5f9;background:#0c1015;border:1px solid #29313b;border-radius:8px;outline:none;flex:1;min-width:0;height:42px;padding:0 13px;font-size:12px}.chat-input button{color:#061014;cursor:pointer;background:linear-gradient(135deg,#22d3ee,#3b82f6);border:none;border-radius:8px;width:42px;height:42px;font-size:16px;font-weight:800;transition:all .2s}.chat-input button:disabled{opacity:.4;cursor:not-allowed;transform:none}@media (width<=1000px){.main-grid{grid-template-columns:1fr}.code-panel,.chat-panel{min-height:600px}}@media (width<=650px){.topbar{height:64px;padding:0 16px}.brand span{display:none}.status{padding:6px 9px;font-size:10px}.workspace{padding:16px}.upload-controls{flex-direction:column}.upload-button{width:100%}.main-grid{gap:14px}.panel{min-height:550px}.panel-header,.chat-header,.messages{padding:12px}.message-bubble{max-width:94%}}.sidebar{background:#0c1015;border-right:1px solid #252c35;flex-direction:column;width:230px;min-width:230px;height:calc(100vh - 72px);padding:22px 14px;display:flex;position:sticky;top:72px}.sidebar-logo{color:#061014;background:linear-gradient(135deg,#22d3ee,#3b82f6);border-radius:9px;justify-content:center;align-items:center;width:36px;height:36px;font-size:11px;font-weight:800;display:flex;box-shadow:0 0 20px #22d3ee26}.sidebar-brand span{color:#b7c0cc;font-size:13px;font-weight:650}.sidebar-item{color:#7f8a99;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:12px;width:100%;height:42px;padding:0 12px;font-family:inherit;font-size:12px;transition:background .2s,color .2s,border-color .2s;display:flex}.sidebar-item span{color:#697586;justify-content:center;width:20px;font-size:15px;display:flex}.sidebar-item:hover{color:#e2e8f0;background:#141a21}.sidebar-item.active{color:#22d3ee;background:linear-gradient(90deg,#22d3ee1a,#22d3ee08);border-color:#22d3ee1f;font-weight:650}.sidebar-bottom{border-top:1px solid #20262e;margin-top:auto;padding-top:18px}.user-profile{background:#11161d;border:1px solid #20262e;border-radius:9px;align-items:center;gap:10px;margin-top:16px;padding:10px;display:flex}.user-avatar{color:#22d3ee;background:#1e293b;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:10px;font-weight:700;display:flex}.user-profile strong{color:#dce3eb;font-size:11px;font-weight:650;display:block}.dashboard-layout .workspace{flex:1;min-width:0;max-width:none;padding:28px 32px 40px}@media (width<=900px){.sidebar{width:70px;min-width:70px;padding:18px 10px}.sidebar-brand{justify-content:center;padding:0 0 20px}.sidebar-brand span{display:none}.sidebar-item{justify-content:center;padding:0}.sidebar-item span{margin:0}.sidebar-item{font-size:0}.sidebar-item span{font-size:16px}.user-profile{justify-content:center;padding:7px}.user-profile>div:last-child{display:none}.dashboard-layout .workspace{padding:20px}}@media (width<=600px){.sidebar{display:none}.dashboard-layout .workspace{width:100%;padding:16px}}.project-status{background:#0f141a;border:1px solid #202832;border-radius:10px;margin-top:22px;padding:13px}.project-status-title{color:#5f6b7a;letter-spacing:.8px;margin-bottom:12px;font-size:9px;font-weight:750}.project-status-row strong{text-overflow:ellipsis;white-space:nowrap;color:#c7d0db;max-width:90px;font-size:10px;font-weight:600;overflow:hidden}.sidebar-nav,.project-status{flex-shrink:0}@media (width<=900px){.project-status{display:none}}.sidebar-item{position:relative;overflow:hidden}.sidebar-item:before{content:"";background:#22d3ee;border-radius:0 4px 4px 0;width:3px;height:0;transition:height .2s;position:absolute;top:50%;left:0;transform:translateY(-50%)}.sidebar-item:hover:before{height:18px}.sidebar-item.active:before{height:22px;box-shadow:0 0 10px #22d3eeb3}.sidebar-item span{transition:transform .2s,color .2s}.sidebar-item:hover span{transform:translate(2px)}.sidebar-item.active span{transform:scale(1.08)}.sidebar{animation:.45s ease-out sidebarEnter}@keyframes sidebarEnter{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.project-status{animation:.5s ease-out .15s both statusEnter}@keyframes statusEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.upside-down-particles{pointer-events:none;z-index:0;width:100vw;height:100vh;position:fixed;top:0;left:0}.app{min-height:100vh;position:relative;overflow:hidden}.topbar,.dashboard-layout,.workspace,.sidebar{z-index:1;position:relative}.splash-screen{z-index:99999;color:#fff;background:radial-gradient(circle,#111827 0%,#070b14 45%,#020617 100%);justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:fixed;inset:0;overflow:hidden}.splash-grid{opacity:.12;background-image:linear-gradient(#38bdf826 1px,#0000 1px),linear-gradient(90deg,#38bdf826 1px,#0000 1px);background-size:50px 50px;animation:12s linear infinite gridMove;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 20%,#0000 75%);mask-image:radial-gradient(#000 20%,#0000 75%)}.splash-content{z-index:5;text-align:center;animation:1.2s ease-out forwards contentAppear;position:relative}.ai-logo-wrapper{justify-content:center;align-items:center;width:120px;height:120px;margin:0 auto 30px;display:flex;position:relative}.ai-logo{z-index:3;background:linear-gradient(145deg,#1e293bf2,#0f172af2);border:1px solid #38bdf8b3;border-radius:26px;justify-content:center;align-items:center;width:90px;height:90px;animation:1s ease-out logoAppear,3s ease-in-out 1s infinite logoFloat;display:flex;position:relative;box-shadow:0 0 20px #38bdf866,0 0 70px #38bdf826}.ai-logo span{color:#38bdf8;text-shadow:0 0 15px #38bdf8cc,0 0 35px #38bdf866;font-size:32px;font-weight:700}.ai-logo-ring{border:1px solid #38bdf833;border-top-color:#38bdf8e6;border-radius:50%;width:115px;height:115px;animation:3s linear infinite ringRotate;position:absolute}.splash-content h1{letter-spacing:-1.5px;color:#fff;margin:0;font-size:48px;font-weight:700}.splash-content h1 span{color:#38bdf8;text-shadow:0 0 20px #38bdf859}.splash-subtitle{color:#94a3b8;letter-spacing:.4px;margin-top:12px;margin-bottom:38px;font-size:16px}.loading-container{width:280px;margin:auto}.loading-bar{background:#94a3b81f;border-radius:20px;width:100%;height:4px;overflow:hidden}.loading-progress{background:#38bdf8;border-radius:20px;width:0%;height:100%;animation:2.7s cubic-bezier(.4,0,.2,1) forwards loadingProgress;box-shadow:0 0 10px #38bdf8cc}.loading-status{color:#64748b;justify-content:center;align-items:center;gap:8px;margin-top:15px;font-size:12px;display:flex}.status-dot{background:#38bdf8;border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite statusPulse;box-shadow:0 0 10px #38bdf8cc}.splash-glow{filter:blur(120px);opacity:.12;pointer-events:none;border-radius:50%;width:450px;height:450px;position:absolute}.glow-one{background:#38bdf8;animation:8s ease-in-out infinite glowMoveOne;top:-180px;left:-150px}.glow-two{background:#6366f1;animation:8s ease-in-out infinite glowMoveTwo;bottom:-180px;right:-150px}.particle{opacity:.6;background:#38bdf8;border-radius:50%;width:3px;height:3px;position:absolute;box-shadow:0 0 10px #38bdf8cc}.particle-one{animation:5s infinite particleFloat;top:20%;left:20%}.particle-two{animation:7s 1s infinite particleFloat;top:70%;left:15%}.particle-three{animation:6s 2s infinite particleFloat;top:25%;right:20%}.particle-four{animation:8s 1s infinite particleFloat;bottom:20%;right:25%}.particle-five{animation:9s 2s infinite particleFloat;top:50%;left:8%}.splash-footer{color:#475569;letter-spacing:1px;z-index:5;font-size:11px;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}@keyframes contentAppear{0%{opacity:0;transform:translateY(30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes logoAppear{0%{opacity:0;transform:scale(.5)rotate(-20deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes ringRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loadingProgress{0%{width:0%}to{width:100%}}@keyframes statusPulse{0%,to{opacity:1;box-shadow:0 0 0 4px #22c55e1f}50%{opacity:.65;box-shadow:0 0 0 7px #22c55e08}}@keyframes gridMove{0%{background-position:0 0}to{background-position:50px 50px}}@keyframes glowMoveOne{0%,to{transform:translate(0)}50%{transform:translate(150px,100px)}}@keyframes glowMoveTwo{0%,to{transform:translate(0)}50%{transform:translate(-150px,-100px)}}@keyframes particleFloat{0%{opacity:0;transform:translate(0)}25%{opacity:.7}50%{opacity:1;transform:translate(40px,-60px)}75%{opacity:.5}to{opacity:0;transform:translate(80px,-120px)}}.splash-screen.splash-exit{pointer-events:none;animation:.8s ease-in-out forwards cinematicExit}.splash-exit .splash-content{animation:.8s ease-in-out forwards contentExit}.splash-exit .ai-logo-wrapper{animation:.8s ease-in-out forwards logoExit}.splash-exit .splash-glow{animation:.8s ease-in-out forwards glowExit}@keyframes cinematicExit{0%{opacity:1;filter:blur();transform:scale(1)}60%{opacity:.8;filter:blur(2px);transform:scale(1.02)}to{opacity:0;filter:blur(12px);transform:scale(1.08)}}@keyframes contentExit{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-20px)scale(1.05)}}@keyframes logoExit{0%{transform:scale(1)rotate(0)}to{transform:scale(1.25)rotate(10deg)}}@keyframes glowExit{0%{opacity:.12}to{opacity:.4}}.splash-screen{background:#050b18;width:100%;height:100%;position:fixed;inset:0;overflow:hidden}.splash-content{z-index:2;position:relative}.splash-screen .upside-down-particles{z-index:1;position:absolute;inset:0}*{box-sizing:border-box;margin:0;padding:0}:root{--bg-main:#0a0d11;--bg-panel:#11151b;--bg-panel-hover:#151a21;--bg-input:#0d1117;--border:#252b34;--border-light:#303742;--text-primary:#f1f5f9;--text-secondary:#8b95a5;--text-muted:#606b7a;--accent:#22d3ee;--accent-blue:#3b82f6;--accent-soft:#22d3ee1f;--success:#22c55e;--radius:12px}body{background:var(--bg-main);color:var(--text-primary);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app{background:radial-gradient(circle at 20% 0%, #22d3ee0a, transparent 30%), var(--bg-main);min-height:100vh}.topbar{border-bottom:1px solid var(--border);z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0d11eb;justify-content:space-between;align-items:center;height:72px;padding:0 32px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:14px;display:flex}.brand-icon{background:linear-gradient(135deg, var(--accent), var(--accent-blue));color:#061014;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:13px;font-weight:800;display:flex;box-shadow:0 0 25px #22d3ee26}.brand h1{letter-spacing:-.2px;font-size:16px;font-weight:650}.brand span{color:var(--text-muted);margin-top:2px;font-size:11px;display:block}.status{color:var(--text-secondary);border:1px solid var(--border);background:var(--bg-panel);border-radius:20px;align-items:center;gap:8px;padding:7px 12px;font-size:12px;display:flex}.status-dot{background:var(--success);border-radius:50%;width:7px;height:7px;box-shadow:0 0 10px #22c55eb3}.workspace{width:100%;max-width:1700px;margin:auto;padding:28px 32px 40px}.upload-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;padding:20px 22px;transition:border-color .25s,background .25s}.upload-card:hover{border-color:var(--border-light);background:var(--bg-panel-hover)}.upload-info{align-items:center;gap:14px;margin-bottom:18px;display:flex}.upload-icon{background:var(--accent-soft);width:42px;height:42px;color:var(--accent);border-radius:10px;justify-content:center;align-items:center;font-size:22px;font-weight:600;display:flex}.upload-info h2{font-size:15px;font-weight:600}.upload-controls{gap:10px;display:flex}.file-picker{border:1px solid var(--border);background:var(--bg-input);height:42px;color:var(--text-secondary);cursor:pointer;border-radius:8px;flex:1;align-items:center;padding:0 14px;font-size:13px;transition:border-color .2s,color .2s;display:flex}.file-picker:hover{border-color:var(--accent);color:var(--text-primary)}.upload-button{background:linear-gradient(135deg, var(--accent), var(--accent-blue));color:#061014;cursor:pointer;border:none;border-radius:8px;height:42px;padding:0 20px;font-size:13px;font-weight:700;transition:transform .2s,box-shadow .2s}.uploaded-status{color:var(--text-secondary);align-items:center;gap:9px;margin-top:14px;font-size:12px;display:flex}.success-icon{width:18px;height:18px;color:var(--success);background:#22c55e1f;border-radius:50%;justify-content:center;align-items:center;font-size:11px;display:flex}.main-grid{grid-template-columns:minmax(0,1.35fr) minmax(380px,.85fr);gap:20px;min-height:650px;display:grid}.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-width:0;display:flex;overflow:hidden}.panel-header,.chat-header{border-bottom:1px solid var(--border);background:#11151bcc;justify-content:space-between;align-items:center;min-height:64px;padding:12px 18px;display:flex}.panel-title h2{white-space:nowrap;font-size:13px;font-weight:650}.panel-title>div>span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:300px;margin-top:3px;font-size:11px;display:block;overflow:hidden}.panel-icon{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:8px;justify-content:center;align-items:center;font-family:monospace;font-size:12px;display:flex}.language-badge{color:#60a5fa;text-transform:uppercase;background:#3b82f61a;border:1px solid #3b82f640;border-radius:6px;padding:5px 9px;font-size:10px;font-weight:600}.code-preview::-webkit-scrollbar{width:7px}.messages::-webkit-scrollbar{width:7px}.code-preview::-webkit-scrollbar-track{background:0 0}.messages::-webkit-scrollbar-track{background:0 0}.code-preview::-webkit-scrollbar-thumb{background:#2b323c;border-radius:10px}.messages::-webkit-scrollbar-thumb{background:#2b323c;border-radius:10px}.empty-code{text-align:center;height:100%;min-height:500px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-icon{background:var(--accent-soft);width:60px;height:60px;color:var(--accent);border-radius:14px;justify-content:center;align-items:center;margin-bottom:16px;font-family:monospace;font-size:18px;display:flex}.empty-code h3{color:var(--text-secondary);margin-bottom:6px;font-size:14px}.empty-code p{font-size:12px}.ai-avatar{background:linear-gradient(135deg, var(--accent), var(--accent-blue));color:#061014;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;font-size:10px;font-weight:800;display:flex}.online-indicator{color:var(--success);font-size:10px;font-weight:600}.mode-selector{background:var(--bg-input);border:1px solid var(--border);border-radius:9px;gap:5px;margin:10px 14px 0;padding:10px;display:flex}.mode-selector button{height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;font-size:11px;font-weight:600;transition:background .2s,color .2s}.mode-selector .active-mode{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px #22d3ee26}.messages{flex:1;min-height:0;padding:18px;overflow-y:auto}.message-row{margin-bottom:14px;display:flex}.user-row{justify-content:flex-end}.ai-row{justify-content:flex-start}.message-bubble{border-radius:10px;max-width:88%;padding:11px 13px;font-size:12px;line-height:1.6}.user-message{color:#dbeafe;background:#3b82f61f;border:1px solid #3b82f633;border-bottom-right-radius:3px}.ai-message{border:1px solid var(--border);color:var(--text-secondary);background:#171c23;border-bottom-left-radius:3px}.message-role{color:var(--accent);margin-bottom:5px;font-size:10px;font-weight:700}.user-message .message-role{color:#60a5fa}.message-content p{margin-bottom:8px}.message-content p:last-child{margin-bottom:0}.message-content code{color:var(--accent);background:#0b0f14;border-radius:4px;padding:2px 5px;font-family:monospace}.message-content pre{background:#0b0f14;border-radius:7px;margin:8px 0;padding:10px;overflow-x:auto}.empty-chat{text-align:center;height:100%;min-height:380px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-chat-icon{background:var(--accent-soft);width:52px;height:52px;color:var(--accent);border-radius:14px;justify-content:center;align-items:center;margin-bottom:14px;font-size:22px;display:flex}.empty-chat h3{color:var(--text-primary);margin-bottom:5px;font-size:15px}.empty-chat p{margin-bottom:18px;font-size:12px}.suggestions{flex-wrap:wrap;justify-content:center;gap:7px;display:flex}.suggestions button{border:1px solid var(--border);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;border-radius:7px;padding:7px 10px;font-size:10px;transition:border-color .2s,color .2s}.suggestions button:hover{border-color:var(--accent);color:var(--accent)}.thinking{color:var(--text-muted);align-items:center;gap:8px;padding:8px 18px;font-size:11px;display:flex}.thinking-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.2s infinite pulse}.chat-input{border-top:1px solid var(--border);background:var(--bg-panel);gap:8px;padding:12px;display:flex}.chat-input input{border:1px solid var(--border);background:var(--bg-input);min-width:0;height:42px;color:var(--text-primary);border-radius:8px;outline:none;flex:1;padding:0 13px;font-size:12px;transition:border-color .2s,box-shadow .2s}.chat-input input::placeholder{color:var(--text-muted)}.chat-input button{background:linear-gradient(135deg, var(--accent), var(--accent-blue));color:#061014;cursor:pointer;border:none;border-radius:8px;width:42px;height:42px;font-size:16px;font-weight:800;transition:transform .2s,box-shadow .2s}.chat-input button:hover{transform:translateY(-1px);box-shadow:0 7px 20px #22d3ee26}.chat-input button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}@media (width<=1000px){.main-grid{grid-template-columns:1fr}.code-panel,.chat-panel{min-height:600px}}@media (width<=650px){.topbar{height:64px;padding:0 16px}.brand span{display:none}.status{padding:6px 9px;font-size:10px}.workspace{padding:16px}.upload-controls{flex-direction:column}.upload-button{width:100%}.main-grid{gap:14px}.panel{min-height:550px}.panel-header,.chat-header,.messages{padding:12px}.message-bubble{max-width:94%}}.dashboard-layout{min-height:calc(100vh - 72px);display:flex}.sidebar{border-right:1px solid var(--border);background:linear-gradient(#11151bfa,#0a0d11fa);flex-direction:column;width:250px;min-width:250px;height:calc(100vh - 72px);padding:22px 14px;display:flex;position:sticky;top:72px;overflow-y:auto}.sidebar-brand{border-bottom:1px solid var(--border);align-items:center;gap:11px;margin-bottom:18px;padding:4px 10px 24px;display:flex}.sidebar-logo{background:linear-gradient(135deg, var(--accent), var(--accent-blue));color:#061014;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;font-size:11px;font-weight:800;display:flex;box-shadow:0 0 22px #22d3ee29}.sidebar-brand>span{color:var(--text-primary);font-size:13px;font-weight:650}.sidebar-nav{flex-direction:column;gap:5px;display:flex}.sidebar-item{width:100%;height:44px;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:12px;padding:0 13px;font-family:inherit;font-size:12px;font-weight:550;transition:background .2s,border-color .2s,color .2s,transform .2s;display:flex}.sidebar-item span{width:20px;color:var(--text-muted);justify-content:center;align-items:center;font-size:16px;transition:color .2s;display:flex}.sidebar-item:hover{border-color:var(--border);color:var(--text-primary);background:#ffffff09;transform:translate(2px)}.sidebar-item:hover span{color:var(--accent)}.sidebar-item.active{color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);background:linear-gradient(90deg,#22d3ee1f,#3b82f60f);border-color:#22d3ee2e}.sidebar-item.active span{color:var(--accent)}.project-status{border:1px solid var(--border);background:#0d1117bf;border-radius:11px;margin-top:25px;padding:15px;box-shadow:0 10px 30px #0000001f}.project-status-title{letter-spacing:1px;color:var(--text-muted);margin-bottom:13px;font-size:9px;font-weight:800}.project-status-row{color:var(--text-muted);border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;font-size:10px;display:flex}.project-status-row:last-child{border-bottom:none;padding-bottom:0}.project-status-row strong{text-overflow:ellipsis;white-space:nowrap;max-width:105px;color:var(--text-secondary);font-size:10px;overflow:hidden}.status-online{color:var(--success);font-size:10px;font-weight:600}.status-ready{color:var(--success)!important}.status-waiting{color:#f59e0b!important}.sidebar-bottom{margin-top:auto;padding-top:18px}.user-profile{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:14px;padding:12px;display:flex}.user-avatar{color:#e2e8f0;background:linear-gradient(135deg,#1e293b,#334155);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:10px;font-weight:800;display:flex}.user-profile strong{color:var(--text-primary);font-size:11px;display:block}.user-profile span{color:var(--text-muted);margin-top:3px;font-size:9px;display:block}.dashboard-layout .workspace{flex:1;width:auto;min-width:0;max-width:none}.page-container{width:100%;animation:.35s pageEnter}@keyframes pageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;padding-bottom:22px;display:flex}.page-eyebrow{color:var(--accent);letter-spacing:1.5px;margin-bottom:8px;font-size:9px;font-weight:800;display:block}.page-header h1{letter-spacing:-.7px;color:var(--text-primary);font-size:28px;line-height:1.2}.page-header p{color:var(--text-secondary);margin-top:7px;font-size:12px}.primary-action{height:40px;color:var(--accent);cursor:pointer;background:linear-gradient(135deg,#22d3ee24,#3b82f61f);border:1px solid #22d3ee40;border-radius:8px;padding:0 17px;font-family:inherit;font-size:11px;font-weight:700;transition:transform .2s,background .2s,border-color .2s}.primary-action:hover{background:linear-gradient(135deg,#22d3ee38,#3b82f62e);border-color:#22d3ee73;transform:translateY(-2px)}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.stat-card{border:1px solid var(--border);background:linear-gradient(145deg,#11151bfa,#0d1117fa);border-radius:12px;align-items:center;gap:14px;min-height:105px;padding:18px;transition:transform .25s,border-color .25s,box-shadow .25s;display:flex}.stat-card:hover{border-color:#22d3ee40;transform:translateY(-3px);box-shadow:0 15px 35px #0000002e}.stat-icon{width:42px;height:42px;color:var(--accent);background:#22d3ee14;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:17px;display:flex}.stat-label{color:var(--text-muted);margin-bottom:7px;font-size:10px;font-weight:600;display:block}.stat-card strong{color:var(--text-primary);font-size:20px;font-weight:700;display:block}.project-card,.files-card,.history-card,.settings-card{border:1px solid var(--border);background:linear-gradient(145deg,#11151bfa,#0d1117fa);border-radius:13px;overflow:hidden;box-shadow:0 15px 40px #0000001f}.project-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:22px;display:flex}.project-main-info{align-items:center;gap:14px;display:flex}.project-icon{background:linear-gradient(135deg, var(--accent), var(--accent-blue));color:#061014;border-radius:11px;justify-content:center;align-items:center;width:46px;height:46px;font-size:11px;font-weight:800;display:flex}.project-main-info h2{color:var(--text-primary);font-size:15px}.project-main-info p{color:var(--text-secondary);margin-top:5px;font-size:11px}.project-badge{color:var(--success);background:#22c55e14;border:1px solid #22c55e33;border-radius:20px;padding:6px 10px;font-size:10px;font-weight:700}.project-details{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:22px;display:grid}.project-details>div{border-right:1px solid var(--border);padding-right:18px}.project-details>div:last-child{border-right:none}.project-details span{color:var(--text-muted);margin-bottom:7px;font-size:10px;display:block}.project-details strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.files-card-header{border-bottom:1px solid var(--border);padding:20px 22px}.files-card-header h2{color:var(--text-primary);font-size:14px}.files-card-header span{color:var(--text-muted);margin-top:5px;font-size:10px;display:block}.file-row{align-items:center;gap:14px;padding:18px 22px;transition:background .2s;display:flex}.file-row:hover{background:#ffffff06}.file-row-icon{width:42px;height:42px;color:var(--accent);background:#22d3ee14;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-family:monospace;font-size:12px;display:flex}.file-row-info{flex:1;min-width:0}.file-row-info strong{color:var(--text-primary);font-size:12px;display:block}.file-row-info span{color:var(--text-muted);margin-top:5px;font-size:10px;display:block}.file-status{color:var(--success);background:#22c55e14;border-radius:6px;padding:5px 9px;font-size:9px;font-weight:700}.file-action{border:1px solid var(--border);background:var(--bg-input);height:32px;color:var(--text-secondary);cursor:pointer;border-radius:7px;padding:0 12px;font-size:10px;transition:color .2s,border-color .2s}.file-action:hover{color:var(--accent);border-color:#22d3ee4d}.empty-files,.empty-history{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:350px;padding:40px;display:flex}.empty-files-icon,.empty-history-icon{width:58px;height:58px;color:var(--accent);background:#22d3ee14;border-radius:14px;justify-content:center;align-items:center;margin-bottom:16px;font-size:22px;display:flex}.empty-files h3,.empty-history h3{color:var(--text-primary);margin-bottom:7px;font-size:14px}.empty-files p,.empty-history p{max-width:360px;color:var(--text-muted);margin-bottom:18px;font-size:11px;line-height:1.6}.history-item{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:17px 22px;transition:background .2s;display:flex}.history-item:last-child{border-bottom:none}.history-item:hover{background:#ffffff06}.history-icon{width:36px;height:36px;color:var(--accent);background:#22d3ee14;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;display:flex}.history-content{flex:1;min-width:0}.history-content strong{color:var(--text-primary);font-size:11px;display:block}.history-content p{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:5px;font-size:10px;overflow:hidden}.history-time{color:var(--text-muted);font-size:9px}.settings-section{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:22px;display:flex}.settings-section:last-child{border-bottom:none}.settings-section h3{color:var(--text-primary);font-size:12px}.settings-section p{color:var(--text-muted);margin-top:6px;font-size:10px}.settings-status{color:var(--accent);background:#22d3ee14;border:1px solid #22d3ee26;border-radius:20px;padding:6px 10px;font-size:9px;font-weight:700}@media (width<=900px){.sidebar{width:210px;min-width:210px}.stats-grid,.project-details{grid-template-columns:repeat(2,minmax(0,1fr))}.project-details>div:nth-child(2){border-right:none}}@media (width<=700px){.dashboard-layout{display:block}.sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;min-width:0;height:auto;padding:12px;position:relative;top:0}.sidebar-brand{display:none}.sidebar-nav{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.sidebar-item{flex-direction:column;justify-content:center;gap:3px;height:58px;padding:5px;font-size:9px}.sidebar-item span{font-size:14px}.project-status,.sidebar-bottom{display:none}.dashboard-layout .workspace{width:100%}.page-header{flex-direction:column;align-items:flex-start}.stats-grid,.project-details{grid-template-columns:1fr}.project-details>div{border-right:none;border-bottom:1px solid var(--border);padding-bottom:15px}.project-details>div:last-child{border-bottom:none}}@keyframes dashboardEnter{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.app{animation:.9s cubic-bezier(.22,1,.36,1) forwards dashboardReveal}@keyframes dashboardReveal{0%{opacity:0;filter:blur(8px);transform:translateY(25px)scale(.97)}60%{opacity:.8;filter:blur(2px)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.dashboard-overview{margin-bottom:28px;animation:.7s ease-out dashboardOverviewEnter}.dashboard-welcome{justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;display:flex}.dashboard-eyebrow{letter-spacing:1.5px;color:#64748b;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.dashboard-welcome h1{color:#0f172a;letter-spacing:-.8px;margin:0;font-size:32px;font-weight:700;line-height:1.2}.dashboard-welcome p{color:#64748b;margin-top:9px;font-size:14px}.agent-status-card{white-space:nowrap;background:#fffc;border:1px solid #e2e8f0;border-radius:14px;align-items:center;gap:12px;padding:14px 18px;display:flex;box-shadow:0 8px 25px #0f172a0d}.agent-status-dot{background:#22c55e;border-radius:50%;width:9px;height:9px;animation:2s infinite statusPulseGreen;box-shadow:0 0 0 5px #22c55e1f}.agent-status-card strong{color:#0f172a;font-size:13px;display:block}.agent-status-card span:not(.agent-status-dot){color:#64748b;margin-top:3px;font-size:11px;display:block}.dashboard-stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.dashboard-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;align-items:center;gap:15px;min-height:120px;padding:20px;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex}.dashboard-stat-card:hover{border-color:#cbd5e1;transform:translateY(-4px);box-shadow:0 14px 35px #0f172a14}.stat-card-icon{color:#0f172a;background:#f1f5f9;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:19px;font-weight:600;display:flex}.stat-card-content span{color:#64748b;font-size:12px;display:block}.stat-card-content strong{color:#0f172a;margin-top:3px;font-size:24px;display:block}.stat-card-content small{color:#94a3b8;margin-top:3px;font-size:10px;display:block}.online-text{color:#16a34a!important;font-size:20px!important}.dashboard-bottom-grid{grid-template-columns:1.4fr 1fr;gap:20px;margin-bottom:28px;display:grid}.quick-actions-card,.agent-overview-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:22px;box-shadow:0 8px 25px #0f172a0a}.section-heading{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.section-heading h2{color:#0f172a;margin:0;font-size:18px}.quick-actions{flex-direction:column;gap:8px;display:flex}.quick-actions button{text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #0000;border-radius:11px;align-items:center;gap:14px;width:100%;padding:12px;transition:background .2s,transform .2s,border-color .2s;display:flex}.quick-actions button:hover{background:#f1f5f9;border-color:#e2e8f0;transform:translate(4px)}.quick-action-icon{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;display:flex}.quick-actions button div{flex:1}.quick-actions button strong{color:#0f172a;font-size:13px;display:block}.quick-actions button div span{color:#64748b;margin-top:3px;font-size:11px;display:block}.action-arrow{color:#94a3b8;font-size:18px}.agent-ready-badge{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:20px;padding:5px 10px;font-size:10px;font-weight:600}.agent-status-list{flex-direction:column;gap:0;display:flex}.agent-status-row{color:#475569;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:13px 0;font-size:12px;display:flex}.agent-status-row:last-child{border-bottom:none}.agent-status-row>div{align-items:center;gap:9px;display:flex}.mini-status-dot{background:#22c55e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #22c55e1a}.agent-status-row strong{color:#16a34a;font-size:11px}@keyframes dashboardOverviewEnter{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes statusPulseGreen{0%,to{opacity:1}50%{opacity:.45}}@media (width<=1100px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}}@media (width<=800px){.dashboard-welcome{flex-direction:column;align-items:flex-start}.dashboard-bottom-grid{grid-template-columns:1fr}}@media (width<=600px){.dashboard-stats{grid-template-columns:1fr}.dashboard-welcome h1{font-size:26px}}.upload-card{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0;border-radius:20px;margin-bottom:24px;padding:30px;animation:.7s ease-out uploadCardEnter;position:relative;overflow:hidden;box-shadow:0 12px 35px #0f172a0f}.upload-icon{color:#fff;background:#0f172a;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:58px;height:58px;font-size:25px;transition:transform .3s;display:flex;box-shadow:0 8px 20px #0f172a2e}.upload-card:hover .upload-icon{transform:translateY(-3px)}.upload-info h2{color:#0f172a;letter-spacing:-.3px;margin:0;font-size:21px;font-weight:700}.upload-info p{color:#64748b;margin-top:6px;font-size:13px}.upload-controls{z-index:2;align-items:center;gap:12px;margin-top:24px;display:flex;position:relative}.file-picker{color:#64748b;cursor:pointer;background:#f8fafccc;border:1px dashed #cbd5e1;border-radius:11px;flex:1;align-items:center;min-width:0;height:46px;padding:0 16px;transition:border-color .2s,background .2s;display:flex}.file-picker:hover{background:#f8fafc;border-color:#38bdf8}.file-picker span{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.upload-button{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:11px;height:46px;padding:0 24px;font-size:13px;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s}.upload-button:hover{background:#1e293b;transform:translateY(-2px);box-shadow:0 8px 20px #0f172a33}.uploaded-status{z-index:2;color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;align-items:center;gap:10px;margin-top:18px;padding:10px 13px;font-size:12px;display:flex;position:relative}.success-icon{color:#fff;background:#22c55e;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:flex}.language-badge{color:#15803d;background:#dcfce7;border-radius:6px;margin-left:auto;padding:4px 9px;font-size:10px;font-weight:600}@keyframes uploadCardEnter{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@media (width<=650px){.upload-controls{flex-direction:column;align-items:stretch}.upload-button{width:100%}}.main-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:stretch;gap:20px;animation:.8s ease-out mainGridEnter;display:grid}.panel{background:#fff;border:1px solid #e2e8f0;border-radius:18px;flex-direction:column;min-width:0;height:620px;transition:box-shadow .3s,transform .3s;display:flex;overflow:hidden;box-shadow:0 10px 30px #0f172a0d}.panel:hover{box-shadow:0 15px 40px #0f172a14}.editor-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:0 18px;display:flex}.editor-file-tab{align-items:center;gap:9px;min-width:0;display:flex}.file-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 0 4px #22c55e1a}.editor-file-name{text-overflow:ellipsis;white-space:nowrap;color:#334155;max-width:200px;font-size:13px;font-weight:600;overflow:hidden}.file-check{color:#22c55e;font-size:13px}.editor-actions{align-items:center;gap:9px;display:flex}.editor-language{color:#475569;background:#e2e8f0;border-radius:6px;padding:5px 9px;font-size:10px;font-weight:600}.copy-button{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:7px;padding:6px 11px;font-size:11px;transition:background .2s,color .2s}.copy-button:hover:not(:disabled){color:#fff;background:#0f172a}.copy-button:disabled{opacity:.45;cursor:not-allowed}.code-preview{background:#0b1120;flex:1;min-height:0;overflow:auto}.code-preview pre{min-height:100%;margin:0!important;padding:20px!important;font-size:13px!important;line-height:1.7!important}.empty-code{text-align:center;color:#64748b;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:30px;display:flex}.empty-icon{color:#475569;opacity:.7;margin-bottom:16px;font-size:38px}.empty-code h3{color:#cbd5e1;margin:0;font-size:16px}.empty-code p{color:#64748b;margin-top:7px;font-size:12px}.chat-header{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:12px;min-height:72px;padding:0 18px;display:flex}.panel-title{align-items:center;gap:11px;min-width:0;display:flex}.ai-avatar{color:#fff;background:#0f172a;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:11px;font-weight:700;display:flex}.panel-title h2{color:#0f172a;margin:0;font-size:14px}.panel-title span{color:#94a3b8;margin-top:3px;font-size:10px;display:block}.online-indicator{color:#16a34a;white-space:nowrap;font-size:10px}.mode-selector{background:#f1f5f9;border-radius:9px;gap:4px;margin:12px 14px 0;padding:4px;display:flex}.mode-selector button{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:7px;font-size:11px;transition:background .2s,color .2s}.mode-selector button:hover{color:#0f172a}.mode-selector button.active-mode{color:#0f172a;background:#fff;font-weight:600;box-shadow:0 2px 6px #0f172a14}.messages{background:#f8fafc;flex:1;min-height:0;padding:18px;overflow-y:auto}.empty-chat{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.empty-chat-icon{color:#475569;background:#e2e8f0;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:12px;font-size:20px;display:flex}.empty-chat h3{color:#334155;margin:0;font-size:15px}.empty-chat p{color:#94a3b8;max-width:220px;margin-top:7px;font-size:11px;line-height:1.6}.chat-input{background:#fff;border-top:1px solid #e2e8f0;align-items:center;gap:8px;padding:12px;display:flex}.chat-input input{color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;outline:none;flex:1;min-width:0;height:40px;padding:0 13px;font-size:12px;transition:border-color .2s,box-shadow .2s}.chat-input input:focus{border-color:#94a3b8;box-shadow:0 0 0 3px #94a3b826}.chat-input button{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:9px;flex-shrink:0;width:40px;height:40px;transition:transform .2s,background .2s}.chat-input button:hover:not(:disabled){background:#1e293b;transform:translateY(-2px)}.chat-input button:disabled{opacity:.5;cursor:not-allowed}.thinking{color:#64748b;background:#f8fafc;padding:8px 16px;font-size:10px}.thinking-dot{background:#38bdf8;border-radius:50%;width:6px;height:6px;margin-right:7px;animation:1s infinite thinkingPulse;display:inline-block}@keyframes mainGridEnter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes thinkingPulse{0%,to{opacity:.3}50%{opacity:1}}@media (width<=1000px){.main-grid{grid-template-columns:1fr}.panel{height:550px}}@media (width<=600px){.upload-card{padding:20px}.upload-info{align-items:flex-start}.upload-info h2{font-size:18px}.chat-header{padding:0 12px}}.dashboard-enter{animation:.8s ease-out dashboardFadeIn}@keyframes dashboardFadeIn{0%{opacity:0}to{opacity:1}}.sidebar-animate{animation:.7s ease-out sidebarSlideIn}@keyframes sidebarSlideIn{0%{opacity:0;transform:translate(-35px)}to{opacity:1;transform:translate(0)}}.workspace-animate{animation:.8s ease-out workspaceSlideIn}@keyframes workspaceSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.upload-card{animation:.8s ease-out .15s both uploadCardEnter}.main-grid{animation:.8s ease-out .3s both panelsEnter}@keyframes panelsEnter{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.ai-avatar{animation:2.5s ease-in-out infinite aiPulse}@keyframes aiPulse{0%,to{box-shadow:0 0 #38bdf800}50%{box-shadow:0 0 0 7px #38bdf81f}}.sidebar-item{transition:transform .2s,background .2s,color .2s}.sidebar-item:hover{transform:translate(4px)}.upload-button{position:relative;overflow:hidden}.upload-button:after{content:"";background:linear-gradient(90deg,#0000,#ffffff26,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.dashboard-welcome{justify-content:space-between;align-items:center;gap:24px;margin-bottom:34px;padding:4px;animation:.7s ease-out both welcomeEnter;display:flex}.welcome-content{min-width:0}.welcome-eyebrow{letter-spacing:1.5px;color:#38bdf8;margin-bottom:7px;font-size:10px;font-weight:700;display:block}.welcome-content h1{letter-spacing:-.7px;color:#f8fafc;margin:0;font-size:27px;font-weight:700;line-height:1.2}.welcome-content h1 span{animation:2s ease-in-out infinite waveHand;display:inline-block}.welcome-content p{color:#94a3b8;margin-top:7px;font-size:12px}.system-status-card{background:#0f172aa6;border:1px solid #94a3b826;border-radius:12px;flex-shrink:0;align-items:center;gap:10px;padding:11px 15px;transition:transform .25s,border-color .25s;display:flex;box-shadow:0 8px 25px #0000001f}.system-status-card:hover{border-color:#38bdf84d;transform:translateY(-2px)}.system-status-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2s ease-in-out infinite statusPulse;box-shadow:0 0 0 4px #22c55e1f}.system-status-card strong{color:#e2e8f0;font-size:11px;display:block}.system-status-card div span{color:#64748b;margin-top:3px;font-size:9px;display:block}@keyframes welcomeEnter{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes waveHand{0%,to{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(0)}}@media (width<=700px){.dashboard-welcome{flex-direction:column;align-items:flex-start}.system-status-card{width:100%}.welcome-content h1{font-size:22px}}.upload-card{background:linear-gradient(135deg,#0f172af5,#112038f5);border:1px solid #38bdf81f;border-radius:18px;padding:26px;position:relative;overflow:hidden;box-shadow:0 15px 40px #0000002e}.upload-card:before{content:"";filter:blur(60px);pointer-events:none;background:#38bdf81f;border-radius:50%;width:220px;height:220px;position:absolute;top:-120px;right:-70px}.upload-info{z-index:2;align-items:center;gap:16px;display:flex;position:relative}.upload-icon{color:#fff;background:linear-gradient(135deg,#0ea5e9,#2563eb);border-radius:15px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;animation:3s ease-in-out infinite uploadIconFloat;display:flex;box-shadow:0 8px 25px #0ea5e940}.upload-icon span{font-size:24px;font-weight:300}.upload-info h2{color:#f8fafc}.upload-info p{color:#94a3b8}.upload-controls{z-index:2;gap:12px;margin-top:22px;display:flex;position:relative}.file-picker{cursor:pointer;background:#0f172a8c;border:1px dashed #94a3b859;border-radius:12px;flex:1;align-items:center;height:58px;padding:0 16px;transition:border-color .25s,background .25s,transform .25s;display:flex}.file-picker:hover{background:#1e293bcc;border-color:#38bdf8;transform:translateY(-2px)}.file-picker-content{align-items:center;gap:12px;min-width:0;display:flex}.file-picker-icon{color:#38bdf8;background:#38bdf81a;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:20px;display:flex}.file-picker-content strong{white-space:nowrap;text-overflow:ellipsis;color:#e2e8f0;max-width:300px;font-size:12px;display:block;overflow:hidden}.file-picker-content small{color:#64748b;margin-top:4px;font-size:9px;display:block}.file-picker input{display:none}.upload-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0ea5e9,#2563eb);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-width:135px;height:58px;font-size:12px;font-weight:600;transition:transform .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 25px #2563eb40}.upload-button:hover{transform:translateY(-2px);box-shadow:0 12px 30px #2563eb59}.upload-button:active{transform:translateY(0)}.upload-button-icon{font-size:17px}.upload-button:after{content:"";background:linear-gradient(90deg,#0000,#ffffff40,#0000);width:70%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%;transform:skew(-20deg)}.upload-button:hover:after{left:130%}.uploaded-status{z-index:2;color:#86efac;background:#22c55e12;border:1px solid #22c55e33;border-radius:10px;align-items:center;gap:10px;margin-top:16px;padding:10px 13px;animation:.5s ease-out uploadSuccess;display:flex;position:relative}@keyframes uploadIconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes uploadSuccess{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=650px){.upload-controls{flex-direction:column}.upload-button{width:100%}}.ai-assistant-header{background:linear-gradient(135deg,#141823fa,#0f121cfa);border-bottom:1px solid #ffffff14;flex-direction:column;gap:6px;padding:18px 20px;display:flex}.ai-assistant-header h2{color:#f8fafc;letter-spacing:-.3px;margin:0;font-size:18px;font-weight:650}.ai-assistant-header span{color:#94a3b8;font-size:13px;line-height:1.5}.editor-file-tab{color:#e2e8f0;background:#151922;border-bottom:1px solid #ffffff14;align-items:center;gap:9px;height:42px;padding:0 16px;font-size:13px;font-weight:500;display:flex;position:relative}.editor-file-tab:after{content:"";background:#6366f1;width:100%;height:2px;position:absolute;bottom:-1px;left:0}.file-dot{background:#f59e0b;border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px #f59e0b80}.editor-file-name{color:#cbd5e1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.file-check{color:#4ade80;background:#22c55e26;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;margin-left:auto;font-size:11px;font-weight:700;display:flex}.ai-assistant-panel{color:#e5e7eb;background:#0f1117;border-left:1px solid #ffffff14;flex-direction:column;min-height:0;display:flex;overflow:hidden}.ai-assistant-panel>*{background:0 0}.code-editor-panel{color:#d1d5db;background:#0b0e13;flex-direction:column;min-height:0;display:flex;overflow:hidden}.code-editor-panel .editor-file-tab{flex-shrink:0}.code-editor-panel .editor-content{color:#d1d5db;background:#0b0e13;flex:1}.analysis-dashboard{color:#e5e7eb;background:#0d111a;border:1px solid #ffffff12;border-radius:20px;margin:20px;padding:26px;animation:.5s analysisEnter}.analysis-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.analysis-label{color:#818cf8;letter-spacing:1.5px;font-size:10px;font-weight:700}.analysis-header h2{color:#f8fafc;margin:5px 0;font-size:24px}.analysis-header p{color:#64748b;margin:0;font-size:13px}.analysis-file{color:#94a3b8;background:#111722;border:1px solid #ffffff12;border-radius:10px;align-items:center;gap:8px;padding:9px 14px;font-size:12px;display:flex}.file-dot{background:#818cf8;border-radius:50%;width:7px;height:7px}.quality-score-card{text-align:center;background:#111722;border:1px solid #ffffff0f;border-radius:16px;padding:20px}.score-label{letter-spacing:1px;color:#64748b;font-size:10px}.score-circle{justify-content:center;align-items:baseline;margin:15px 0 5px;display:flex}.score-circle strong{color:#a5b4fc;font-size:42px}.score-circle span{color:#64748b;font-size:12px}.quality-score-card p{color:#64748b;margin:0;font-size:11px}.analysis-stats{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.analysis-card{background:#111722;border:1px solid #ffffff0f;border-radius:14px;align-items:center;gap:14px;padding:18px;transition:transform .2s,border-color .2s;display:flex}.analysis-card:hover{border-color:#818cf859;transform:translateY(-3px)}.analysis-icon{font-size:22px}.analysis-card span{color:#64748b;font-size:11px;display:block}.analysis-card strong{color:#f1f5f9;margin-top:3px;font-size:18px;display:block}.analysis-section{background:#111722;border:1px solid #ffffff0f;border-radius:16px;margin-top:18px;padding:20px}.section-title{color:#e2e8f0;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:600;display:flex}.analysis-summary{color:#94a3b8;margin:0;font-size:13px;line-height:1.7}.issue-item{background:#0c1017;border:1px solid #ffffff0d;border-radius:10px;margin-top:10px;padding:14px}.issue-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.issue-header strong,.issue-item>strong{color:#e2e8f0;font-size:13px}.issue-item p{color:#94a3b8;margin:7px 0 0;font-size:12px;line-height:1.6}.severity-badge{color:#f87171;background:#ef44441f;border-radius:6px;padding:4px 8px;font-size:10px;font-weight:600}.suggestion-item{border-bottom:1px solid #ffffff0d;align-items:flex-start;gap:12px;padding:10px 0;display:flex}.suggestion-item:last-child{border-bottom:none}.suggestion-item>span{color:#a5b4fc;background:#818cf81f;border-radius:6px;justify-content:center;align-items:center;min-width:22px;height:22px;font-size:10px;display:flex}.suggestion-item p{color:#94a3b8;margin:2px 0;font-size:12px;line-height:1.6}@keyframes analysisEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}html,body,#root{color:#e5e7eb!important;background:#080b12!important}body{background-color:#080b12!important}.app,.dashboard-enter,.dashboard-layout,.main-content{background:#080b12!important}.sidebar{background:#0b0f17!important}.topbar{background:#0b0f17!important;border-color:#ffffff14!important}.code-editor,.editor-container,.editor-panel,.code-panel{color:#e5e7eb!important;background:#0b0f16!important}.editor-file-name{color:#cbd5e1!important}.ai-assistant,.ai-panel,.assistant-panel,.chat-panel,.chat-container{color:#e5e7eb!important;background:#0d111a!important}.ai-assistant h2,.ai-panel h2,.assistant-panel h2{color:#f8fafc!important}.ai-assistant span,.ai-panel span,.assistant-panel span{color:#94a3b8}.message,.chat-message,.message-area{color:#151ce8!important;background:0 0!important}.user-message{color:#f1f5f9!important;background:#1e293b!important}.ai-message{color:#3715e1!important;background:#111722!important}.chat-input,.chat-input-area,textarea,input{color:#699ce4!important;background:#0b0f16!important;border-color:#ffffff1a!important}input::placeholder,textarea::placeholder{color:#64748b!important}.upload-panel,.upload-container,.file-upload,.upload-box,.analysis-dashboard{color:#699ce4!important;background:#0d111a!important;border-color:#ffffff14!important}.analysis-card,.quality-score-card,.analysis-section{color:#699ce4!important;background:#111722!important;border-color:#ffffff0f!important}.issue-item{color:#699ce4!important;background:#0c1017!important}button{color:#699ce4}.card,.panel,.section,.workspace-card{color:#699ce4!important;background:#0d111a!important}.panel{color:#94a3b8!important;background:#0d111a!important;border:1px solid #252b34!important}.code-panel{color:#94a3b8!important;background:#0b0f16!important;border-color:#252b34!important}.chat-panel,.ai-assistant,.ai-panel,.assistant-panel,.chat-container{color:#94a3b8!important;background:#0d111a!important;border-color:#252b34!important}.panel h1,.panel h2,.panel h3,.chat-panel h1,.chat-panel h2,.chat-panel h3{color:#cbd5e1!important}.panel p,.panel span,.chat-panel p,.chat-panel span{color:#94a3b8!important}.editor-file-tab{color:#94a3b8!important;background:#111722!important;border-color:#252b34!important}.panel>div,.code-panel>div,.chat-panel>div{background-color:#0000}.analysis-dashboard{width:100%!important;max-width:100%!important;margin:8px 0!important;padding:1px 12px!important}.analysis-overview{flex-direction:row!important;gap:8px!important;width:100%!important;display:flex!important}.quality-score-card{width:110px!important;min-width:110px!important;padding:8px!important}.analysis-stats{flex:1!important;grid-template-columns:repeat(4,1fr)!important;gap:8px!important;display:grid!important}.analysis-card{min-height:55px!important;padding:8px!important}.analysis-summary{max-height:45px;overflow:hidden}.issue-item{padding:7px!important}.dashboard-layout{align-items:stretch!important;display:flex!important}.workspace{flex:1!important;width:auto!important;min-width:0!important}.workspace>.analysis-dashboard{width:100%!important;max-width:100%!important;margin:0 0 16px!important}.main-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:16px!important;width:100%!important;display:grid!important}.code-panel,.chat-panel{width:100%!important;min-width:0!important}.analysis-dashboard{border-radius:16px!important;padding:16px!important}.analysis-header{margin-bottom:12px!important}.analysis-header h2{font-size:20px!important}.analysis-overview{grid-template-columns:140px 1fr!important;gap:12px!important;display:grid!important}.quality-score-card{padding:12px!important}.score-circle{margin:8px 0!important}.score-circle strong{font-size:32px!important}.analysis-stats{grid-template-columns:repeat(4,1fr)!important;gap:8px!important}.analysis-card{padding:10px!important}.analysis-section{margin-top:10px!important;padding:12px!important}.auth-page{background:radial-gradient(circle at 20% 20%,#4f46e526,#0000 35%),radial-gradient(circle at 80% 80%,#0ea5e91f,#0000 35%),#070b14;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:30px;display:flex;position:relative;overflow:hidden}.auth-page:before{content:"";filter:blur(100px);background:#4f46e514;border-radius:50%;width:500px;height:500px;position:absolute;top:-200px;left:-150px}.auth-page:after{content:"";filter:blur(100px);background:#0ea5e912;border-radius:50%;width:450px;height:450px;position:absolute;bottom:-200px;right:-150px}.auth-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:2;background:#0f172ae0;border:1px solid #ffffff14;border-radius:24px;width:100%;max-width:440px;padding:42px;animation:.7s forwards authCardEnter;position:relative;box-shadow:0 30px 80px #00000073,inset 0 1px #ffffff0a}@keyframes authCardEnter{0%{opacity:0;transform:translateY(30px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-logo{color:#fff;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:18px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 22px;font-size:20px;font-weight:800;animation:3s ease-in-out infinite authLogoFloat;display:flex;box-shadow:0 12px 35px #4f46e559}@keyframes authLogoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.auth-card h1{text-align:center;letter-spacing:-.7px;color:#f8fafc;margin:0;font-size:28px;font-weight:750}.auth-subtitle{text-align:center;color:#94a3b8;margin:9px 0 28px;font-size:14px}.auth-tabs{background:#ffffff0a;border-radius:12px;grid-template-columns:1fr 1fr;margin-bottom:25px;padding:4px;display:grid}.auth-tabs button{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:9px;padding:11px;font-size:14px;font-weight:600;transition:all .25s}.auth-tabs button:hover{color:#e2e8f0}.auth-tabs button.active{color:#fff;background:#6366f133;box-shadow:0 4px 15px #00000026}.auth-card form{flex-direction:column;gap:14px;display:flex}.auth-card input{color:#f8fafc;background:#0206178c;border:1px solid #94a3b826;border-radius:11px;outline:none;width:100%;padding:14px 16px;font-size:14px;transition:border-color .25s,box-shadow .25s,background .25s}.auth-card input::placeholder{color:#64748b}.auth-card input:focus{background:#020617bf;border-color:#6366f1b3;box-shadow:0 0 0 3px #6366f11f}.auth-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:11px;width:100%;margin-top:7px;padding:14px;font-size:14px;font-weight:700;transition:transform .2s,box-shadow .2s,opacity .2s;box-shadow:0 10px 25px #4f46e540}.auth-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 15px 35px #4f46e559}.auth-submit:active:not(:disabled){transform:translateY(0)}.auth-submit:disabled{cursor:not-allowed;opacity:.6}.auth-error{color:#fca5a5;background:#ef444414;border:1px solid #ef444433;border-radius:9px;padding:11px 13px;font-size:13px;line-height:1.5}.auth-footer{text-align:center;color:#475569;margin-top:26px;font-size:12px}@media (width<=520px){.auth-page{padding:18px}.auth-card{border-radius:20px;padding:30px 22px}.auth-card h1{font-size:24px}}.logout-button{color:#6b7280;cursor:pointer;background:0 0;border:1px solid #e5e7eb;border-radius:10px;align-items:center;gap:10px;width:100%;margin-top:14px;padding:11px 14px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.logout-button:hover{color:#dc2626;background:#fef2f2;border-color:#fecaca}.logout-button span{font-size:17px}.sidebar{overflow-y:auto}.sidebar-bottom{padding:10px 12px}.user-profile{border-radius:10px;gap:9px;padding:8px 10px}.user-avatar{width:34px;min-width:34px;height:34px;font-size:12px}.user-info{gap:2px}.user-info strong{font-size:13px}.user-info span{font-size:10px}.logout-button{border-radius:8px;margin-top:7px;padding:8px 10px;font-size:12px}.sidebar-nav{gap:3px}.sidebar-item{padding:8px 12px}.project-status{margin-top:12px;padding:8px}.forgot-password-button{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;gap:7px;margin-top:14px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.forgot-password-button:hover{color:#2563eb;background:#eff6ff;transform:translateY(-1px)}.forgot-password-button:active{transform:translateY(0)}.forgot-icon{font-size:14px;transition:transform .2s}.forgot-password-button:hover .forgot-icon{transform:scale(1.1)}.settings-info{flex:1}.settings-toggle{cursor:pointer;background:#cbd5e1;border:none;border-radius:999px;width:48px;height:26px;padding:0;transition:background .25s;position:relative}.settings-toggle.active{background:#2563eb}.toggle-circle{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .25s;position:absolute;top:3px;left:3px}.settings-toggle.active .toggle-circle{transform:translate(22px)}.settings-toggle:hover{transform:scale(1.05)}.settings-status{color:#16a34a;background:#f0fdf4;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.settings-profile{align-items:flex-start}.profile-settings-form{flex-direction:column;gap:10px;width:280px;display:flex}.profile-settings-form input{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;width:100%;padding:11px 13px;font-size:13px;transition:border .2s,box-shadow .2s}.profile-settings-form input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.profile-settings-form input:disabled{color:#64748b;cursor:not-allowed;background:#f8fafc}.settings-save-button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:600;transition:all .2s}.settings-save-button:hover{background:#1d4ed8;transform:translateY(-1px)}.settings-password{align-items:flex-start}.password-settings-form{flex-direction:column;gap:10px;width:280px;display:flex}.password-settings-form input{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;width:100%;padding:11px 13px;font-size:13px;transition:border .2s,box-shadow .2s}.password-settings-form input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.password-settings-message{color:#475569;background:#f8fafc;border-radius:7px;padding:8px 10px;font-size:12px}body{color:#0f172a;background:#f8fafc}.app-container,.main-content{background:#f8fafc}body.dark-mode{color:#e2e8f0;background:#0f172a}body.dark-mode .app-container,body.dark-mode .main-content{background:#0f172a}body.dark-mode .sidebar{background:#111827;border-color:#1f2937}body.dark-mode .sidebar-item{color:#94a3b8}body.dark-mode .sidebar-item:hover{color:#f8fafc;background:#1e293b}body.dark-mode .sidebar-item.active{color:#fff;background:#1e3a8a}body.dark-mode .page-eyebrow{color:#60a5fa}body.dark-mode .page-header h1{color:#f8fafc}body.dark-mode .page-header p{color:#94a3b8}body.dark-mode .settings-card{background:#111827;border-color:#1f2937;box-shadow:0 10px 30px #00000040}body.dark-mode .settings-section{border-color:#1f2937}body.dark-mode .settings-info h3{color:#f8fafc}body.dark-mode .settings-info p{color:#94a3b8}body.dark-mode .profile-settings-form input,body.dark-mode .password-settings-form input{color:#f8fafc;background:#1e293b;border-color:#334155}body.dark-mode .profile-settings-form input::placeholder,body.dark-mode .password-settings-form input::placeholder{color:#64748b}body.dark-mode .user-profile{border-color:#1f2937}body.dark-mode .user-profile strong{color:#f8fafc}body.dark-mode .user-profile span,body.dark-mode .logout-button{color:#94a3b8}body.dark-mode .logout-button:hover{color:#f87171;background:#1e293b}body.dark-mode .settings-status{color:#4ade80;background:#052e16}body.dark-mode .settings-password-message{color:#cbd5e1;background:#1e293b}.upside-down-particles{pointer-events:none;z-index:0;width:100vw;height:100vh;position:fixed;inset:0}.auth-page,.app{min-height:100vh;position:relative;overflow:hidden}.auth-card,.topbar,.dashboard-layout{z-index:1;position:relative}
