.nav-link[aria-current=page]{color:#fff;font-weight:600;position:relative}.nav-link[aria-current=page]:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;border-radius:2px;background:var(--grad)}
[data-theme=light] .nav-link[aria-current=page]{color:#1d1d1f}
.an-body{height:100vh;height:100dvh;overflow:hidden}
.an-bg{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(900px 600px at 15% 20%,rgba(62,224,255,.08),transparent 60%),radial-gradient(900px 700px at 85% 90%,rgba(139,92,255,.12),transparent 60%)}
[data-theme=light] .an-bg{background:radial-gradient(900px 600px at 15% 20%,rgba(0,113,227,.06),transparent 60%),radial-gradient(900px 700px at 85% 90%,rgba(138,77,255,.06),transparent 60%)}
.an-main{position:relative;z-index:1;height:100%;width:min(1360px,calc(100% - 96px));margin:auto;padding:88px 0 24px;display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:18px}
.an-panel{position:relative;min-height:0;border:1px solid var(--line2);border-radius:26px;background:rgba(12,15,24,.62);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.35)}
[data-theme=light] .an-panel{background:rgba(255,255,255,.78);border-color:rgba(0,0,0,.07);box-shadow:0 24px 70px rgba(30,40,80,.08)}
/* graph */
.kg-panel{background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:22px 22px}
[data-theme=light] .kg-panel{background-image:radial-gradient(rgba(0,0,0,.07) 1px,transparent 1px)}
#kg{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}#kg.grabbing{cursor:grabbing}#kg.pointer{cursor:pointer}
.kg-head{position:absolute;top:22px;left:26px;pointer-events:none}
.kg-head h1{margin:0;font-size:20px;line-height:1.2;font-weight:700;letter-spacing:.2px}
.kg-head p{margin:6px 0 0;font-size:13px;color:var(--mute)}
.kg-legend{position:absolute;top:20px;right:22px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:58%}
.kg-legend button{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:999px;font-size:12px;color:var(--mute);border:1px solid var(--line);background:rgba(255,255,255,.03);transition:color .2s,border-color .2s,background .2s}
.kg-legend button:hover,.kg-legend button.on{color:var(--ink);border-color:var(--line2);background:rgba(255,255,255,.08)}
[data-theme=light] .kg-legend button{background:rgba(255,255,255,.7)}[data-theme=light] .kg-legend button:hover,[data-theme=light] .kg-legend button.on{background:#fff}
.kg-legend i{width:8px;height:8px;border-radius:50%;box-shadow:0 0 8px currentColor}
.kg-tools{position:absolute;right:20px;bottom:20px;display:flex;flex-direction:column;border-radius:14px;border:1px solid var(--line2);background:rgba(12,15,24,.7);overflow:hidden}
[data-theme=light] .kg-tools{background:rgba(255,255,255,.9)}
.kg-tools button{width:38px;height:38px;display:grid;place-items:center;font-size:18px;color:var(--mute);transition:color .2s,background .2s}.kg-tools button+button{border-top:1px solid var(--line)}
.kg-tools button:hover{color:var(--ink);background:rgba(127,127,127,.12)}
.kg-tip{position:absolute;z-index:3;pointer-events:none;max-width:260px;padding:10px 13px;border-radius:12px;font-size:13px;line-height:1.55;color:var(--ink);background:rgba(10,12,20,.92);border:1px solid var(--line2);box-shadow:0 12px 30px rgba(0,0,0,.35)}
[data-theme=light] .kg-tip{background:rgba(255,255,255,.97);box-shadow:0 12px 30px rgba(0,0,0,.1)}
.kg-tip b{display:block;font-size:14px;margin-bottom:2px}.kg-tip span{color:var(--mute)}
.kg-card{position:absolute;left:20px;bottom:20px;z-index:2;width:300px;padding:18px 20px;border-radius:18px;background:rgba(10,12,20,.88);border:1px solid var(--line2);box-shadow:0 20px 50px rgba(0,0,0,.4);animation:kgIn .25s ease}
[data-theme=light] .kg-card{background:rgba(255,255,255,.97);box-shadow:0 20px 50px rgba(30,40,80,.12)}
@keyframes kgIn{from{opacity:0;transform:translateY(8px)}}
.kg-card .t{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--mute)}.kg-card .t i{width:8px;height:8px;border-radius:50%}
.kg-card h3{margin:6px 0 6px;font-size:18px;line-height:1.35}.kg-card p{margin:0;font-size:13.5px;color:var(--mute);line-height:1.6}
.kg-card ul{list-style:none;margin:12px 0 0;padding:10px 0 0;border-top:1px solid var(--line);font-size:13px;display:grid;gap:5px}.kg-card li{color:var(--mute)}.kg-card li em{font-style:normal;color:var(--dim);margin-right:6px}.kg-card li button{color:var(--ink);padding:0}.kg-card li button:hover{color:var(--c1)}
.kg-card .ask{margin-top:14px;display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;font-size:13px;font-weight:650;color:#05060a;background:var(--grad)}
[data-theme=light] .kg-card .ask{color:#fff}
.kg-card .x{position:absolute;top:10px;right:12px;width:28px;height:28px;border-radius:50%;font-size:18px;color:var(--mute)}.kg-card .x:hover{color:var(--ink);background:rgba(127,127,127,.12)}
/* chat */
.chat-panel{display:flex;flex-direction:column}
.chat-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.agent-avatar{flex:none;width:40px;height:40px;border-radius:13px;display:grid;grid-template-columns:9px 9px;gap:3px;place-content:center;background:linear-gradient(140deg,rgba(62,224,255,.18),rgba(139,92,255,.24));border:1px solid var(--line2)}
.agent-avatar i{height:9px;border-radius:2.5px;background:var(--grad)}.agent-avatar i:nth-child(2){opacity:.45}.agent-avatar i:nth-child(3){opacity:.75}
.chat-head div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.chat-head strong{font-size:15.5px}.chat-head div span{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--mute)}
.live{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 0 3px rgba(52,211,153,.18)}
.chat-new{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;color:var(--mute);transition:color .2s,background .2s}.chat-new:hover{color:var(--ink);background:rgba(127,127,127,.12)}
.chat-log{flex:1;min-height:0;overflow-y:auto;padding:20px 18px 8px;display:flex;flex-direction:column;gap:18px;scrollbar-width:thin;scrollbar-color:rgba(127,127,127,.3) transparent}
.msg{max-width:100%;font-size:14.5px;line-height:1.72;animation:kgIn .3s ease}
.msg.user{align-self:flex-end;max-width:86%;padding:10px 15px;border-radius:18px 18px 6px 18px;background:linear-gradient(120deg,rgba(62,224,255,.2),rgba(139,92,255,.26));border:1px solid rgba(140,160,255,.25);white-space:pre-wrap;word-break:break-word}
[data-theme=light] .msg.user{background:#0071e3;color:#fff;border:0}
.msg.bot{align-self:stretch}
.answer p{margin:0 0 8px}.answer p:last-child{margin-bottom:0}.answer strong{font-weight:700}.answer .a-h{font-size:16px;font-weight:700}
.answer ol{margin:4px 0 10px;padding:0;list-style:none;counter-reset:a}.answer li{counter-increment:a;position:relative;padding:3px 0 3px 26px}.answer li:before{content:counter(a);position:absolute;left:0;top:7px;width:18px;height:18px;border-radius:6px;display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--c1);background:rgba(62,224,255,.1)}
[data-theme=light] .answer li:before{background:rgba(0,113,227,.08)}
.a-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0 12px;animation:kgIn .4s ease}.a-stats div{padding:10px 11px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.03)}
[data-theme=light] .a-stats div{background:#f5f5f7;border-color:transparent}
.a-stats b{display:block;font-size:16px;line-height:1.25;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.a-stats span{display:block;font-size:11.5px;line-height:1.4;color:var(--mute);margin-top:3px}
.caret:after{content:"";display:inline-block;width:7px;height:15px;margin-left:2px;vertical-align:-2px;background:var(--c1);animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}
.sources{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.chip,.src{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;font-size:12.5px;color:var(--mute);border:1px solid var(--line2);background:rgba(255,255,255,.03);transition:color .2s,border-color .2s,background .2s;text-align:left}
.chip:hover,.src:hover{color:var(--ink);border-color:var(--c1);background:rgba(62,224,255,.08)}
.src i{width:7px;height:7px;border-radius:50%}
.suggest{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.suggest .chip{font-size:13px;padding:8px 13px}
/* trace */
.trace{margin-bottom:12px;border:1px solid var(--line2);border-radius:16px;background:rgba(255,255,255,.025);overflow:hidden}
[data-theme=light] .trace{background:#fafafc;border-color:rgba(0,0,0,.07)}
.trace-head{width:100%;display:flex;align-items:center;gap:9px;padding:10px 14px;font-size:13px;color:var(--ink);text-align:left}
.trace-head .ico{width:18px;height:18px;display:grid;place-items:center;border-radius:6px;background:var(--grad);color:#05060a;font-size:11px;font-weight:800}
.trace-head em{font-style:normal;color:var(--mute);margin-left:auto;font-variant-numeric:tabular-nums}.trace-head svg{transition:transform .25s;color:var(--mute)}.trace.closed .trace-head svg{transform:rotate(-90deg)}
.trace ol{list-style:none;margin:0;padding:2px 14px 12px}.trace.closed ol{display:none}
.step{position:relative;display:grid;grid-template-columns:18px 1fr auto;gap:10px;padding:7px 0;animation:kgIn .25s ease}
.step:not(:last-child):before{content:"";position:absolute;left:8.5px;top:26px;bottom:-8px;width:1px;background:var(--line2)}
.step .st{width:18px;height:18px;margin-top:2px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--line2)}
.step.run .st{border-color:var(--c1);border-right-color:transparent;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.step.done .st{border:0;background:linear-gradient(140deg,#3ee0ff,#8b5cff)}.step.done .st:after{content:"";width:6px;height:3.5px;border:solid #05060a;border-width:0 0 2px 2px;transform:translateY(-1px) rotate(-45deg)}
[data-theme=light] .step.done .st{background:#0071e3}[data-theme=light] .step.done .st:after{border-color:#fff}
.step b{font-size:13px;font-weight:650}.step p{margin:2px 0 0;font-size:12.5px;line-height:1.55;color:var(--mute)}
.step time{font-size:11.5px;color:var(--dim);font-variant-numeric:tabular-nums;padding-top:2px}
.step .tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.tag{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:7px;font-size:12px;color:var(--ink);background:rgba(127,127,127,.1)}.tag i{width:6px;height:6px;border-radius:50%}
.path{display:block;width:100%;margin-top:6px;padding:7px 10px;border-radius:9px;font-size:12px;line-height:1.5;text-align:left;color:var(--mute);border:1px dashed var(--line2);transition:color .2s,border-color .2s,background .2s}
.path:hover,.path.on{color:var(--ink);border-style:solid;border-color:var(--c1);background:rgba(62,224,255,.06)}.path span{color:var(--c1)}
.rank{display:grid;gap:5px;margin-top:6px}.rank div{display:grid;grid-template-columns:1fr 64px 36px;align-items:center;gap:8px;font-size:12px;color:var(--mute)}.rank div span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rank u{display:block;height:4px;border-radius:4px;background:rgba(127,127,127,.15);text-decoration:none;overflow:hidden}.rank u:after{content:"";display:block;height:100%;width:var(--w);background:var(--grad);border-radius:4px}
.rank em{font-style:normal;font-variant-numeric:tabular-nums;color:var(--ink);text-align:right}
/* input */
.chat-input{margin:8px 14px 14px;display:flex;align-items:flex-end;gap:8px;padding:8px 8px 8px 16px;border-radius:20px;border:1px solid var(--line2);background:rgba(255,255,255,.04);transition:border-color .2s,box-shadow .2s}
.chat-input:focus-within{border-color:var(--c1);box-shadow:0 0 0 3px rgba(62,224,255,.12)}
[data-theme=light] .chat-input{background:#fff}[data-theme=light] .chat-input:focus-within{box-shadow:0 0 0 3px rgba(0,113,227,.12)}
.chat-input textarea{flex:1;resize:none;border:0;outline:0;background:none;color:var(--ink);font:inherit;font-size:14.5px;line-height:1.6;padding:6px 0;max-height:120px}
.chat-input textarea::placeholder{color:var(--dim)}
.chat-input button{flex:none;width:38px;height:38px;border-radius:13px;display:grid;place-items:center;color:#05060a;background:var(--grad);transition:opacity .2s,transform .2s}.chat-input button:hover{transform:translateY(-1px)}.chat-input button:disabled{opacity:.35;transform:none;cursor:not-allowed}
[data-theme=light] .chat-input button{color:#fff}
@media(max-width:1100px){.an-main{width:calc(100% - 48px);grid-template-columns:minmax(0,1fr) 380px}}
@media(max-width:860px){.an-body{height:auto;overflow:auto}.an-main{height:auto;width:calc(100% - 28px);padding:76px 0 14px;grid-template-columns:1fr;grid-template-rows:56vh 78vh}.kg-legend{display:none}.kg-card{width:auto;right:70px}}
