@import "https://fonts.googleapis.com/css2?family=Boldonse&family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400&family=JetBrains+Mono:wght@400;500;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Boldonse&family=Cinzel:wght@400;600;700;900&family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400&family=JetBrains+Mono:wght@400;500;700&display=swap";html,body,#root{height:100%;overflow:hidden}:root{--bg:#240046;--bg2:#10002b;--bg3:#1a0038;--border:#3b0080;--border2:#5a00c8;--accent:#c77dff;--accent2:#9d4edd;--text:#f5f0ff;--text2:#d0b8ff;--text3:#a68cc9;--mono:"JetBrains Mono", monospace;--garamond:"EB Garamond", serif;--display:"Boldonse", cursive;--error:#ff6b6b;--warn:#ffd166;--info:#6bffb8;--radius:8px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--garamond);height:100vh;font-size:16px;line-height:1.6;overflow:hidden}#root{flex-direction:column;height:100vh;display:flex}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.topbar{background:var(--bg2);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:60px;padding:0 24px;display:flex}.topbar-left{align-items:center;gap:12px;display:flex}.logo-icon{display:none}.logo-text{font-family:var(--display);letter-spacing:1px;color:var(--accent);font-size:28px}.logo-sub{color:var(--text3);font-family:var(--garamond);border-left:1px solid var(--border2);margin-left:4px;padding-left:12px;font-size:24px}.topbar-right{align-items:center;gap:12px;display:flex}.stat-pill,.status-pill{border:1px solid var(--border2);background:var(--bg3);font-family:var(--garamond);color:var(--text2);border-radius:20px;align-items:center;gap:6px;padding:5px 14px;font-size:14px;display:flex}.stat-dot{background:var(--accent);border-radius:50%;width:7px;height:7px}.stat-dot.pulse{animation:2s ease-in-out infinite dot-pulse}@keyframes dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.status-dot{background:var(--info);width:7px;height:7px;box-shadow:0 0 6px var(--info);border-radius:50%}.layout{flex:1;display:flex;overflow:hidden}.left-panel{background:var(--bg2);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:380px;display:flex;overflow:hidden}.panel-label{font-family:var(--display);letter-spacing:2px;color:var(--accent);align-items:center;gap:8px;padding:16px 16px 8px;font-size:16px;display:flex}.count-badge{background:var(--accent2);color:#fff;font-family:var(--garamond);border-radius:10px;padding:2px 9px;font-size:13px}.query-panel{border-bottom:1px solid var(--border);flex-shrink:0;padding:50px}.query-input{background:var(--bg3);border:1px solid var(--border2);border-radius:var(--radius);width:100%;color:var(--text);font-family:var(--garamond);resize:vertical;outline:none;padding:20px;font-size:20px;line-height:1.6;transition:border-color .2s}.query-input:focus{border-color:var(--accent)}.query-input::placeholder{color:var(--text3)}.ts-row{align-items:center;gap:15px;margin-top:20px;display:flex}.ts-label{font-family:var(--garamond);color:var(--text3);white-space:nowrap;font-size:20px}.ts-input{background:var(--bg3);border:1px solid var(--border2);border-radius:var(--radius);color:var(--text2);font-family:var(--garamond);outline:none;flex:1;min-width:0;padding:10px 15px;font-size:13px}.ts-input::placeholder{color:var(--text3);font-size:15px}.ts-input:focus{border-color:var(--accent)}.now-btn{border:1px solid var(--border2);border-radius:var(--radius);color:var(--text2);font-family:var(--garamond);cursor:pointer;white-space:nowrap;background:0 0;padding:6px 10px;font-size:13px;transition:all .15s}.now-btn:hover{border-color:var(--accent);color:var(--accent)}.btn-row{gap:8px;margin-top:14px;display:flex}.demo-btn{border:1px solid var(--border2);border-radius:var(--radius);color:var(--text2);font-family:var(--garamond);cursor:pointer;background:0 0;flex:1;padding:10px;font-size:15px;transition:all .15s}.demo-btn:hover{border-color:var(--accent);color:var(--accent)}.correlate-btn{background:var(--accent2);border:1px solid var(--accent);border-radius:var(--radius);color:#fff;font-family:var(--garamond);cursor:pointer;letter-spacing:.5px;flex:2;padding:10px;font-size:16px;font-weight:700;transition:all .15s}.correlate-btn:hover:not(:disabled){background:var(--accent);box-shadow:0 0 20px var(--accent2)}.correlate-btn:disabled{opacity:.4;cursor:not-allowed}.log-feed{flex-direction:column;flex:1;display:flex;overflow:hidden}.log-list{flex-direction:column;flex:1;gap:6px;padding:8px;display:flex;overflow-y:auto}.log-list::-webkit-scrollbar{width:4px}.log-list::-webkit-scrollbar-track{background:0 0}.log-list::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}.log-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:10px;transition:border-color .15s;animation:.3s both slide-in}@keyframes slide-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.log-card:hover{border-color:var(--border2)}.log-card-top{align-items:center;gap:6px;margin-bottom:5px;display:flex}.log-icon{font-size:15px}.log-level{font-family:var(--mono);letter-spacing:1px;font-size:11px;font-weight:700}.log-service{font-family:var(--garamond);color:var(--text2);flex:1;font-size:14px}.log-score{font-family:var(--garamond);color:var(--accent);font-size:14px;font-weight:700}.log-message{font-family:var(--garamond);color:var(--text);word-break:break-word;margin-bottom:6px;font-size:14px;line-height:1.5}.log-meta{font-family:var(--garamond);color:var(--text3);justify-content:space-between;align-items:center;font-size:12px;display:flex}.score-bars{gap:8px;display:flex}.score-bars span{color:var(--text3)}.conf-bar-bg{background:var(--border);border-radius:2px;height:3px;margin-top:6px;overflow:hidden}.conf-bar-fill{background:linear-gradient(90deg, var(--accent2), var(--accent));border-radius:2px;height:100%;transition:width .5s}.main-panel{font-family:var(--garamond);color:var(--text);flex:1;padding:28px;font-size:16px;overflow-y:auto}.main-panel::-webkit-scrollbar{width:5px}.main-panel::-webkit-scrollbar-track{background:0 0}.main-panel::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;height:100%;animation:.4s fade-in;display:flex}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.empty-icon{display:none}.empty-state h2{font-family:var(--display);color:var(--accent);font-size:36px}.empty-state p{max-width:420px;font-family:var(--garamond);color:var(--text2);font-size:18px;line-height:1.8}.demo-hint{border:1px solid var(--border2);border-radius:var(--radius);color:var(--accent);font-family:var(--garamond);cursor:pointer;background:0 0;padding:10px 20px;font-size:16px;transition:all .15s}.demo-hint:hover{border-color:var(--accent);box-shadow:0 0 14px var(--accent2)}.error-state{color:var(--error);font-size:16px}.spinner{border:3px solid var(--border2);border-top:3px solid var(--accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.timeline-wrap{flex-direction:column;gap:24px;animation:.4s fade-in;display:flex}.timeline-header{border-bottom:1px solid var(--border);padding-bottom:18px}.tl-title{font-family:var(--display);color:var(--accent);align-items:center;gap:14px;margin-bottom:8px;font-size:32px;display:flex}.tl-badge{font-family:var(--garamond);background:var(--accent2);color:#fff;border-radius:10px;padding:3px 12px;font-size:14px;font-weight:600}.tl-query{font-family:var(--garamond);color:var(--text2);text-overflow:ellipsis;white-space:nowrap;max-width:800px;font-size:15px;overflow:hidden}.tl-query em{color:var(--accent);font-style:italic}.swim-container{flex-direction:column;display:flex}.swim-lane{border-bottom:1px solid var(--border);align-items:stretch;min-height:90px;display:flex}.swim-lane:last-child{border-bottom:none}.lane-label{width:180px;font-family:var(--garamond);color:var(--text2);background:var(--bg2);border-left:3px solid #0000;flex-shrink:0;align-items:center;gap:10px;padding:16px 14px;font-size:15px;display:flex}.lane-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.lane-track{flex-direction:column;flex:1;gap:12px;padding:16px 20px;display:flex;position:relative}.lane-line{pointer-events:none;z-index:0;border-top:1px dashed;height:1px;position:absolute;top:50%;left:0;right:0}.lane-event{z-index:1;align-items:flex-start;gap:14px;display:flex;position:relative}.event-dot{cursor:pointer;border:2px solid;border-radius:50%;flex-shrink:0;width:16px;height:16px;margin-top:4px;transition:transform .15s}.event-dot:hover{transform:scale(1.4)}.event-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);border-left:3px solid;flex:1;padding:10px 14px;animation:.3s both slide-in}.event-card-top{align-items:center;gap:10px;margin-bottom:6px;display:flex}.event-level{font-family:var(--mono);letter-spacing:1.5px;font-size:11px;font-weight:700}.event-time{font-family:var(--garamond);color:var(--text3);font-size:13px}.event-score{font-family:var(--garamond);color:var(--accent);margin-left:auto;font-size:13px;font-weight:600}.event-message{font-family:var(--garamond);color:var(--text);word-break:break-word;font-size:15px;font-weight:500;line-height:1.6}.root-cause-banner{border:1px solid var(--accent2);border-radius:var(--radius);background:linear-gradient(135deg,#2d0060,#10002b);align-items:center;gap:14px;padding:14px 20px;display:flex;box-shadow:0 0 28px #9d4edd22}.rc-label{font-family:var(--mono);color:var(--accent);letter-spacing:1px;white-space:nowrap;font-size:11px;font-weight:700}.rc-service{background:var(--accent2);color:#fff;font-family:var(--garamond);white-space:nowrap;border-radius:10px;padding:3px 12px;font-size:14px;font-weight:600}.rc-message{color:var(--text2);font-family:var(--garamond);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:15px;font-weight:500;overflow:hidden}.rc-time{color:var(--text3);font-family:var(--garamond);white-space:nowrap;font-size:13px}.connector-canvas{z-index:2}.landing{background:var(--bg2);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.landing-orb{filter:blur(80px);opacity:.25;pointer-events:none;border-radius:50%;position:absolute}.orb1{background:#7c3aed;width:500px;height:500px;top:-100px;left:-100px}.orb2{background:#c77dff;width:400px;height:400px;bottom:-80px;right:-80px}.orb3{background:#4a0080;width:300px;height:300px;top:50%;left:50%;transform:translate(-50%,-50%)}.landing-content{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:24px;max-width:680px;padding:40px;animation:.8s fade-in;display:flex;position:relative}.landing-badge{font-family:var(--mono);letter-spacing:3px;text-transform:uppercase;color:var(--accent);border:1px solid var(--border2);background:#3b008033;border-radius:20px;padding:5px 18px;font-size:12px}.landing-title{font-family:var(--display);color:var(--text);text-shadow:0 0 60px #c77dff44;font-size:72px;line-height:1.1}.landing-welcome{font-family:Cinzel,serif;font-weight:900}.landing-title span{color:var(--accent)}.landing-desc{font-family:var(--garamond);color:var(--text2);max-width:520px;font-size:20px;line-height:1.8}.landing-desc em{color:var(--accent);font-style:italic}.landing-features{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.feature-pill{font-family:var(--garamond);color:var(--text2);background:var(--bg3);border:1px solid var(--border2);border-radius:20px;padding:6px 16px;font-size:14px}.landing-btn{background:var(--accent2);border:1px solid var(--accent);border-radius:var(--radius);color:#fff;font-family:var(--garamond);cursor:pointer;align-items:center;gap:10px;margin-top:8px;padding:14px 40px;font-size:20px;font-weight:700;transition:all .2s;display:flex}.landing-btn:hover{background:var(--accent);transform:translateY(-2px);box-shadow:0 0 40px #9d4edd88}.landing-arrow{font-size:22px;transition:transform .2s}.landing-btn:hover .landing-arrow{transform:translate(5px)}.landing-sub{font-family:var(--mono);color:var(--text3);letter-spacing:1px;font-size:11px}
