@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";:root{--primary:#3b82f6;--primary-glow:#3b82f659;--secondary:#a855f7;--secondary-glow:#a855f759;--bg-dark:#030712;--bg-panel:#0a0f1e80;--border:#a855f726;--glass-border:#ffffff0f;--text-main:#f3f4f6;--text-muted:#94a3b8;--success:#22c35d}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-dark);width:100%;max-width:100vw;color:var(--text-main);height:100vh;margin:0;padding:0;font-family:Inter,-apple-system,sans-serif;position:relative;overflow:hidden}body:before{content:"";z-index:-1;background:radial-gradient(circle at 15% 25%,#3b82f626 0%,#0000 50%),radial-gradient(circle at 85% 75%,#a855f71f 0%,#0000 50%),radial-gradient(circle,#06b6d40f 0%,#0000 60%);width:100%;height:100%;animation:25s ease-in-out infinite alternate nebulaShift;position:absolute;top:0;left:0}@keyframes nebulaShift{0%{transform:scale(1)translate(0)}to{transform:scale(1.1)translate(1.5%,1.5%)}}#root{flex-direction:column;flex:1;height:100vh;display:flex}.splash-screen{z-index:10000;background:radial-gradient(circle,#1a1f35 0%,#0b0f1a 100%);flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;transition:opacity .8s ease-in-out;display:flex;position:fixed;top:0;left:0}.splash-screen.fade-out{opacity:0;pointer-events:none}.splash-logo{filter:drop-shadow(0 0 20px #3b82f680);width:120px;height:120px;margin-bottom:2rem;animation:2s ease-in-out infinite pulseLogo}.splash-content{text-align:center;animation:1.2s ease-out forwards slideUpSplash}.splash-content h1{background:linear-gradient(90deg,#fff,#3b82f6);-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;margin-bottom:.5rem;font-size:2.5rem}.splash-content p{color:#fff9;font-size:1.125rem;font-weight:300}@keyframes pulseLogo{0%,to{filter:drop-shadow(0 0 20px #3b82f680);transform:scale(1)}50%{filter:drop-shadow(0 0 40px #3b82f6cc);transform:scale(1.05)}}@keyframes slideUpSplash{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.app-layout{background:var(--bg-dark);width:100vw;height:100vh;display:flex;overflow:hidden}.app-layout.with-banner{height:calc(100vh - 48px);margin-top:48px}.sidebar{opacity:0;pointer-events:none;z-index:50;-webkit-backdrop-filter:blur(24px);background:#080c188c;border-right:0 solid #0000;flex-direction:column;flex-shrink:0;width:0;height:100%;transition:width .3s cubic-bezier(.4,0,.2,1),opacity .3s,border-color .3s;display:flex;overflow:hidden}.sidebar.open{opacity:1;pointer-events:auto;border-right:1px solid #a855f726;width:260px}.sidebar-header{justify-content:space-between;align-items:center;padding:1rem;display:flex}.sidebar-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:.25rem;transition:all .2s;display:flex}.sidebar-close:hover{color:#fff;background:#ffffff0d;border-radius:.25rem}.delete-chat-btn{color:var(--text-muted);cursor:pointer;opacity:.4;background:0 0;border:none;border-radius:.4rem;flex-shrink:0;justify-content:center;align-items:center;padding:.4rem;transition:all .2s;display:flex}.chat-item:hover .delete-chat-btn,.chat-item.active .delete-chat-btn{opacity:1}.delete-chat-btn:hover{color:#ef4444;background:#ef444433}.privacy-disclaimer{max-width:850px;color:var(--text-muted);background:#ffffff05;border:1px solid #ffffff0d;border-radius:2rem;align-items:center;gap:.5rem;margin:0 auto .75rem;padding:.4rem 1rem;font-size:.75rem;display:flex}.privacy-disclaimer span{letter-spacing:.01em;font-weight:400}.new-chat-btn{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#fff;cursor:pointer;border:none;border-radius:.75rem;justify-content:center;align-items:center;gap:.75rem;width:calc(100% - 2rem);margin:0 1rem 1rem;padding:.75rem;font-weight:600;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;box-shadow:0 4px 15px #3b82f633}.new-chat-btn:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 6px 20px #a855f759}.chat-list{flex:1;padding:0 .5rem;overflow-y:auto}.chat-item{color:var(--text-muted);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:.75rem;align-items:center;gap:.75rem;margin:.25rem .5rem;padding:.75rem 1rem;transition:all .2s;display:flex;overflow:hidden}.chat-item:hover{color:#fff;background:#ffffff0d}.chat-item.active{color:#c084fc;border-left:3px solid var(--secondary);background:#a855f714;border-radius:0 .75rem .75rem 0;font-weight:600;box-shadow:inset 4px 0 10px #a855f71f}.chat-item span{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.history-item{cursor:pointer;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;text-align:left;background:0 0;border:none;border-radius:.75rem;width:100%;padding:.75rem 1rem;font-size:.875rem;transition:all .2s;position:relative;overflow:hidden}.history-item:hover{color:var(--text-main);background:#f8fafc0d;padding-left:1.25rem}.history-item.active{color:var(--text-main);border-left:3px solid var(--primary);background:#3c83f626;border-radius:.25rem .75rem .75rem .25rem}.app-container{flex-direction:column;flex:1;min-width:0;max-width:100%;height:100%;display:flex;position:relative}.header{-webkit-backdrop-filter:blur(24px);z-index:10;background:#080c188c;border-bottom:1px solid #a855f726;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.menu-toggle{color:var(--text-main);cursor:pointer;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;padding:.5rem;transition:background .2s,color .2s;display:flex}.menu-toggle:hover{color:#fff;background:#ffffff0d}@media (width<=768px){.sidebar{opacity:1;pointer-events:auto;border-right:1px solid #a855f726;width:260px;transition:transform .3s cubic-bezier(.4,0,.2,1);position:absolute;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{opacity:1;pointer-events:auto;width:260px;transform:translate(0)}.message{max-width:95%}}.header-left{align-items:center;gap:.75rem;display:flex}.header h1{letter-spacing:-.025em;background:linear-gradient(135deg,#3c83f6,#6b26d9);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.25rem;font-weight:600}.settings-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:.5rem;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.settings-btn:hover{background:var(--glass-bg);color:#fff}.chat-container{flex-direction:column;flex:1;gap:1.5rem;padding:2rem 1rem;display:flex;overflow:hidden auto}.message-wrapper{width:100%;margin-bottom:1.5rem;animation:.5s cubic-bezier(.23,1,.32,1) forwards messageEntrance;display:flex}@keyframes messageEntrance{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.message-wrapper.user{justify-content:flex-end}.message-wrapper.assistant{justify-content:flex-start}.message{word-break:break-word;overflow-wrap:break-word;border-radius:1.25rem;max-width:85%;padding:1rem 1.25rem;font-size:1rem;line-height:1.6}.message.user{color:#f8fafc;-webkit-backdrop-filter:blur(8px);background:linear-gradient(135deg,#3b82f633 0%,#3b82f614 100%);border:1px solid #3b82f659;border-bottom-right-radius:.25rem;box-shadow:0 8px 32px #0000004d,0 0 10px #3b82f626}.message.assistant{-webkit-backdrop-filter:blur(8px);background:linear-gradient(135deg,#a855f71f 0%,#a855f70a 100%);border:1px solid #a855f740;border-bottom-left-radius:.25rem;box-shadow:0 8px 32px #0000004d,0 0 10px #a855f71a}.message.assistant.typing:after{content:"▊";color:var(--primary);vertical-align:middle;margin-left:2px;animation:.8s step-end infinite blink;display:inline-block}.message.assistant.typing{box-shadow:0 0 20px var(--primary-glow);animation:2s infinite alternate thinkingPulse}@keyframes thinkingPulse{0%{box-shadow:0 0 10px var(--primary-glow)}to{box-shadow:0 0 25px var(--primary-glow)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.message.assistant p{margin-bottom:1rem}.message.assistant p:last-child{margin-bottom:0}.code-wrapper{-webkit-backdrop-filter:blur(12px);background:#080c1880;border:1px solid #a855f726;border-radius:.75rem;max-width:100%;margin:1rem 0;position:relative;overflow:hidden}.code-header{color:var(--text-muted);background:#00000073;border-bottom:1px solid #a855f726;justify-content:space-between;align-items:center;padding:.5rem 1rem;font-size:.75rem;display:flex}.copy-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;transition:all .2s;display:flex}.copy-btn:hover{color:#fff}.input-area{background:0 0;border-top:1px solid #a855f71f;padding:1.5rem}.input-container{-webkit-backdrop-filter:blur(24px);background:#0a0f1e8c;border:1px solid #a855f738;border-radius:1.25rem;align-items:flex-end;gap:.75rem;max-width:850px;margin:0 auto;padding:.6rem;transition:border-color .2s,box-shadow .2s,background-color .2s;display:flex;box-shadow:0 10px 30px -3px #00000080,0 0 15px #3b82f614}.input-container:focus-within{border-color:var(--primary);background:#0a0f1eb3;box-shadow:0 0 0 2px #3c83f633,0 0 20px #3b82f64d}.input-container.dragging{border-color:var(--primary);box-shadow:0 0 20px var(--primary-glow);background:#3b82f614;border-style:dashed}.input-container input{color:#fff;background:0 0;border:none;outline:none;flex:1;padding:.75rem 1rem;font-size:1rem}.input-container input::placeholder{color:var(--text-muted)}.send-btn{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#fff;cursor:pointer;border:none;border-radius:.75rem;justify-content:center;align-items:center;width:3rem;height:3rem;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;box-shadow:0 4px 12px #3b82f633}.send-btn:hover:not(:disabled){transform:scale(1.08)translateY(-1px);box-shadow:0 0 20px #a855f773}.send-btn:disabled{background:var(--border);cursor:not-allowed;opacity:.7}.loading-indicator{align-items:center;gap:.5rem;padding:1rem;display:flex}.dot{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite both bounce}.dot:first-child{animation-delay:-.32s}.dot:nth-child(2){animation-delay:-.16s}.stop-btn{color:#e05252;cursor:pointer;background:#d926261a;border:1px solid #d9262633;border-radius:.5rem;align-items:center;gap:.25rem;margin-left:1rem;padding:.4rem .75rem;font-size:.75rem;font-weight:500;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex}.stop-btn:hover{color:#e87d7d;background:#d9262633;border-color:#d9262666;transform:scale(1.1);box-shadow:0 0 15px #ef44444d}.edit-btn{color:#ffffff80;cursor:pointer;background:0 0;border:none;border-radius:.25rem;flex-shrink:0;justify-content:center;align-items:center;padding:.25rem;transition:all .2s;display:flex}.edit-btn:hover{color:#fff;background:#ffffff1a}.attach-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;width:3rem;height:3rem;transition:all .2s;display:flex}.attach-btn:hover{color:#fff;background:#ffffff0d}.attachment-preview{max-width:850px;margin:0 auto .5rem}.preview-content{background:var(--bg-panel);border:1px solid var(--border);color:var(--text-main);border-radius:.75rem;align-items:center;gap:.75rem;padding:.5rem;font-size:.875rem;display:inline-flex}.preview-content img{object-fit:cover;border-radius:.25rem;width:40px;height:40px}.preview-content button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:.25rem;display:flex}.preview-content button:hover{color:#e05252}.update-banner{background:var(--primary);color:#fff;z-index:9999;justify-content:center;align-items:center;gap:1rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;animation:.4s ease-out slideDown;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 6px -1px #0003}.update-banner button{color:var(--primary);cursor:pointer;background:#fff;border:none;border-radius:.25rem;padding:.25rem .75rem;font-weight:600;transition:all .2s}.update-banner button:hover{background:#ffffffe6;transform:translateY(-1px)}.close-banner{color:#fff!important;background:0 0!important;padding:.25rem!important}.version-modal{max-width:450px!important}.feature-list{flex-direction:column;gap:.75rem;margin:1.5rem 0;padding:0;list-style:none;display:flex}.feature-list li{padding-left:1.5rem;font-size:.9375rem;line-height:1.5;position:relative}.feature-list li:before{content:"→";color:var(--primary);font-weight:700;position:absolute;left:0}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.skeleton-row{background:#ffffff0d;border-radius:.5rem;height:40px;margin:.5rem 1rem;position:relative;overflow:hidden}.skeleton-row:after{content:"";background:linear-gradient(90deg,#0000,#ffffff0d,#0000);width:100%;height:100%;animation:1.5s infinite shimmer;position:absolute;top:0;left:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.copy-feedback{color:#fff;white-space:nowrap;background:#10b981;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700;animation:1s forwards popUpFade;position:absolute;top:-30px;right:0}@keyframes popUpFade{0%{opacity:0;transform:translateY(0)}20%{opacity:1;transform:translateY(-5px)}80%{opacity:1;transform:translateY(-5px)}to{opacity:0;transform:translateY(-10px)}}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.modal-overlay{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-panel);border:1px solid var(--border);border-radius:1rem;flex-direction:column;gap:1rem;width:90%;max-width:400px;padding:2rem;display:flex}.modal h2{margin-bottom:.5rem;font-size:1.25rem}.form-group{flex-direction:column;gap:.25rem;display:flex}.form-group label{color:var(--text-muted);font-size:.875rem}.modal input{background:var(--bg-dark);border:1px solid var(--border);color:#fff;border-radius:.5rem;outline:none;padding:.75rem}.modal input:focus{border-color:var(--primary)}.modal button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:.5rem;margin-top:.5rem;padding:.75rem;font-weight:500}.modal button:hover{background:var(--primary-hover)}.fade-in{animation:.6s ease-out forwards fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#a855f733;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a855f766}.sidebar-overlay{display:none}@media (width<=768px){.sidebar-overlay{-webkit-backdrop-filter:blur(4px);z-index:45;background:#00000080;animation:.2s ease-out fadeIn;display:block;position:fixed;inset:0}}.search-container{padding:0 1rem .75rem}.sidebar-search{color:#fff;background:#ffffff08;border:1px solid #a855f726;border-radius:.5rem;outline:none;width:100%;padding:.5rem .75rem;font-size:.85rem;transition:all .2s}.sidebar-search:focus{border-color:var(--primary);background:#ffffff0f;box-shadow:0 0 10px #3b82f633}.no-chats-msg{text-align:center;color:var(--text-muted);padding:2rem 1rem;font-size:.85rem}.chat-rename-input{border:1px solid var(--secondary);color:#fff;background:#080c18b3;border-radius:.4rem;outline:none;width:100%;padding:.25rem .5rem;font-size:.875rem;transition:all .2s}.chat-rename-input:focus{border-color:var(--primary);box-shadow:0 0 8px #3b82f64d}.edit-chat-btn{color:var(--text-muted);cursor:pointer;opacity:.4;background:0 0;border:none;border-radius:.4rem;flex-shrink:0;justify-content:center;align-items:center;padding:.4rem;transition:all .2s;display:flex}.chat-item:hover .edit-chat-btn,.chat-item.active .edit-chat-btn{opacity:1}.edit-chat-btn:hover{color:#c084fc;background:#a855f726}.code-action-btn{color:var(--text-muted);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:.375rem;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;transition:all .2s;display:flex}.code-action-btn:hover{color:#fff;background:#ffffff1a;border-color:#fff3}.validation-alert{border-bottom:1px solid #a855f726;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.8rem;animation:.2s ease-out fadeIn;display:flex}.validation-alert.success{color:#a7f3d0;background:#10b9811a}.validation-alert.error{color:#fca5a5;background:#ef44441a}.close-validation{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;margin-left:auto;padding:.2rem;display:flex}.close-validation:hover{color:#fff}.export-toggle-btn{background:var(--bg-panel);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;-webkit-backdrop-filter:blur(8px);border-radius:.5rem;align-items:center;gap:.25rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.export-toggle-btn:hover{border-color:var(--secondary);color:#fff;background:#a855f714;box-shadow:0 0 10px #a855f740}.export-dropdown{z-index:100;-webkit-backdrop-filter:blur(16px);background:#0a0f1ef2;border:1px solid #a855f738;border-radius:.75rem;flex-direction:column;gap:.25rem;min-width:200px;padding:.5rem;animation:.2s ease-out fadeIn;display:flex;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 10px 25px -5px #00000080,0 0 15px #a855f726}.export-dropdown button{color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:.5rem;align-items:center;padding:.6rem .8rem;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.export-dropdown button:hover{color:#c084fc;background:#a855f71f}@media print{.sidebar,.sidebar-overlay,.header,.input-area,.update-banner,.new-chat-btn,.copy-btn,.code-action-btn,.edit-btn,.stop-btn,.privacy-disclaimer{display:none!important}body,html{color:#000!important;background:#fff!important;height:auto!important;overflow:visible!important}#root,.app-layout,.app-container,.chat-container{background:0 0!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.message-wrapper{page-break-inside:avoid;width:100%!important;margin-bottom:2rem!important;display:block!important}.message{width:100%!important;max-width:100%!important;box-shadow:none!important;color:#000!important;background:0 0!important;border:none!important;padding:0!important}.message-wrapper.user .message:before{content:"👤 User Prompt:n";border-bottom:1px solid #ccc;margin-bottom:.5rem;padding-bottom:.25rem;font-size:1.1rem;font-weight:700;display:block}.message-wrapper.assistant .message:before{content:"🤖 Azure Assistant Response:n";border-bottom:1px solid #ccc;margin-bottom:.5rem;padding-bottom:.25rem;font-size:1.1rem;font-weight:700;display:block}.code-wrapper{page-break-inside:avoid;color:#000!important;background:#f3f4f6!important;border:1px solid #d1d5db!important}.code-header{color:#000!important;background:#e5e7eb!important;border-bottom:1px solid #d1d5db!important}pre,code{white-space:pre-wrap!important;word-break:break-all!important}}.kql-visualizer{background:#0a0f1e66;border-bottom:1px solid #a855f726;font-family:Inter,sans-serif;animation:.2s ease-out fadeIn}.visualizer-header{color:var(--text-muted);letter-spacing:.02em;background:#00000040;justify-content:space-between;align-items:center;padding:.5rem 1rem;font-size:.75rem;font-weight:600;display:flex}.visualizer-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:.15rem;display:flex}.visualizer-close:hover{color:#fff}.visualizer-table-wrapper{padding:.75rem 1rem;overflow-x:auto}.visualizer-table{border-collapse:collapse;text-align:left;width:100%;font-size:.8rem}.visualizer-table th{color:var(--secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #a855f733;padding:.4rem .6rem;font-size:.7rem;font-weight:600}.visualizer-table td{color:var(--text-main);border-bottom:1px solid #ffffff08;padding:.4rem .6rem}.visualizer-table tbody tr:last-child td{border-bottom:none}.preview-val{font-family:Courier New,Courier,monospace;color:#93c5fd!important}@media print{.kql-visualizer{background:0 0!important;border-bottom:1px solid #ccc!important}.visualizer-header{color:#000!important;background:#e5e7eb!important}.visualizer-close{display:none!important}.visualizer-table th{color:#000!important;border-bottom:1px solid #ccc!important}.preview-val{color:#000!important}}
