@import"https://fonts.googleapis.cn/css2?family=Chakra+Petch:wght@500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--accent: #22d3ee;--accent-2: #3b82f6;--grad: linear-gradient(135deg, #22d3ee, #3b82f6);--bg: #060a13;--panel: rgba(13, 20, 36, .72);--line: rgba(56, 189, 248, .14);--line-hi: rgba(56, 189, 248, .42);--text: #e2e8f0;--dim: #7c8aa5;--danger: #fb7185;--amber: #fbbf24;--glow: 0 0 24px rgba(34, 211, 238, .22);--glow-tl: radial-gradient(58% 46% at 12% 0%, rgba(34, 211, 238, .12), transparent 62%);--glow-br: radial-gradient(50% 42% at 88% 100%, rgba(59, 130, 246, .1), transparent 60%);--grid-line: rgba(56, 189, 248, .05);--corner: rgba(34, 211, 238, .4);--topbar-bg: rgba(8, 13, 24, .6);--chip-bg: rgba(13, 20, 36, .5);--brand-text-grad: linear-gradient(90deg, #e2e8f0, #7dd3fc);--dot-off: #33415c;--panel-shadow: 0 12px 40px rgba(2, 6, 16, .55);--foot-fade: linear-gradient(180deg, transparent, rgba(8, 13, 24, .9) 22%);--accent-border: rgba(34, 211, 238, .35);--accent-bg: rgba(34, 211, 238, .08);--input-bg: rgba(6, 10, 19, .75);--placeholder: #45536e;--focus-glow: inset 0 0 0 1px rgba(34, 211, 238, .25), 0 0 18px rgba(34, 211, 238, .1);--btn-bg: rgba(56, 189, 248, .12);--btn-bg-hover: rgba(56, 189, 248, .2);--btn-text: #a5e9f8;--btn-primary-text: #041019;--btn-primary-glow: 0 0 22px rgba(34, 211, 238, .4);--btn-ghost-hover-bg: rgba(56, 189, 248, .08);--card-inset: rgba(6, 10, 19, .5);--card-bg: rgba(9, 15, 28, .72);--card-shadow-hover: 0 10px 28px rgba(2, 6, 16, .6);--num-glow: 0 0 12px rgba(34, 211, 238, .45);--track-bg: rgba(56, 189, 248, .12);--scan-grad: linear-gradient(180deg, transparent, rgba(34, 211, 238, .09), transparent);--scan-line: rgba(34, 211, 238, .28);--notice-text: #9fc9e8;--stage-grid: rgba(56, 189, 248, .045);--stage-bg: rgba(6, 10, 19, .6);--stage-border: rgba(56, 189, 248, .08);--stage-chip-bg: rgba(8, 13, 24, .8);--danger-border: rgba(251, 113, 133, .35);--danger-bg: rgba(251, 113, 133, .12);--amber-border: rgba(251, 191, 36, .3);--amber-bg: rgba(251, 191, 36, .08);--scrollbar: rgba(56, 189, 248, .25);--shimmer: linear-gradient(90deg, transparent, rgba(255, 255, 255, .55), transparent);--glyph-bg: linear-gradient(rgba(34, 211, 238, .12), rgba(34, 211, 238, .02));--glyph-border: rgba(56, 189, 248, .35);--ease: cubic-bezier(.22, .61, .36, 1);--font-disp: "Chakra Petch", "PingFang SC", system-ui, sans-serif;--font-body: "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Consolas, monospace}[data-theme=light]{--accent: #0891b2;--accent-2: #2563eb;--grad: linear-gradient(135deg, #06b6d4, #3b82f6);--bg: #f2f6fb;--panel: rgba(255, 255, 255, .78);--line: rgba(8, 145, 178, .16);--line-hi: rgba(8, 145, 178, .45);--text: #0f1c2e;--dim: #5b6b82;--danger: #e11d48;--amber: #d97706;--glow: 0 0 14px rgba(8, 145, 178, .16);--glow-tl: radial-gradient(58% 46% at 12% 0%, rgba(8, 145, 178, .1), transparent 62%);--glow-br: radial-gradient(50% 42% at 88% 100%, rgba(37, 99, 235, .08), transparent 60%);--grid-line: rgba(8, 145, 178, .07);--corner: rgba(8, 145, 178, .45);--topbar-bg: rgba(255, 255, 255, .66);--chip-bg: rgba(255, 255, 255, .6);--brand-text-grad: linear-gradient(90deg, #0f1c2e, #0891b2);--dot-off: #b8c4d4;--panel-shadow: 0 12px 34px rgba(15, 28, 46, .1);--foot-fade: linear-gradient(180deg, transparent, rgba(242, 246, 251, .92) 22%);--accent-border: rgba(8, 145, 178, .35);--accent-bg: rgba(8, 145, 178, .08);--input-bg: rgba(255, 255, 255, .85);--placeholder: #94a3b8;--focus-glow: inset 0 0 0 1px rgba(8, 145, 178, .2), 0 0 14px rgba(8, 145, 178, .12);--btn-bg: rgba(8, 145, 178, .1);--btn-bg-hover: rgba(8, 145, 178, .16);--btn-text: #0e7490;--btn-primary-text: #ffffff;--btn-primary-glow: 0 6px 18px rgba(8, 145, 178, .3);--btn-ghost-hover-bg: rgba(8, 145, 178, .06);--card-inset: rgba(255, 255, 255, .7);--card-bg: rgba(255, 255, 255, .82);--card-shadow-hover: 0 10px 28px rgba(15, 28, 46, .12);--num-glow: none;--track-bg: rgba(8, 145, 178, .14);--scan-grad: linear-gradient(180deg, transparent, rgba(8, 145, 178, .08), transparent);--scan-line: rgba(8, 145, 178, .3);--notice-text: #33617e;--stage-grid: rgba(8, 145, 178, .06);--stage-bg: rgba(244, 248, 252, .9);--stage-border: rgba(8, 145, 178, .1);--stage-chip-bg: rgba(255, 255, 255, .85);--danger-border: rgba(225, 29, 72, .3);--danger-bg: rgba(225, 29, 72, .08);--amber-border: rgba(217, 119, 6, .3);--amber-bg: rgba(217, 119, 6, .08);--scrollbar: rgba(8, 145, 178, .3);--shimmer: linear-gradient(90deg, transparent, rgba(255, 255, 255, .75), transparent);--glyph-bg: linear-gradient(rgba(8, 145, 178, .1), rgba(8, 145, 178, .02));--glyph-border: rgba(8, 145, 178, .4)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:14px;-webkit-font-smoothing:antialiased;overflow:hidden;transition:background .25s var(--ease),color .25s var(--ease)}.shell{position:relative;height:100vh;display:flex;flex-direction:column;overflow:hidden}.shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--glow-tl),var(--glow-br);pointer-events:none}.bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(75% 75% at 50% 40%,#000 30%,transparent 100%);mask-image:radial-gradient(75% 75% at 50% 40%,#000 30%,transparent 100%);pointer-events:none}.corner{position:absolute;width:26px;height:26px;border:1.5px solid var(--corner);pointer-events:none;z-index:1}.corner.tl{top:14px;left:14px;border-right:none;border-bottom:none}.corner.tr{top:14px;right:14px;border-left:none;border-bottom:none}.corner.bl{bottom:14px;left:14px;border-right:none;border-top:none}.corner.br{bottom:14px;right:14px;border-left:none;border-top:none}.topbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:14px 28px;border-bottom:1px solid var(--line);background:var(--topbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:34px;height:34px;border-radius:8px;background:var(--grad);box-shadow:var(--glow);position:relative}.brand-mark:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:4px;background:linear-gradient(var(--bg),var(--bg)) padding-box,repeating-linear-gradient(90deg,var(--accent) 0 3px,transparent 3px 7px);opacity:.9}.brand h1{margin:0;font-family:var(--font-disp);font-size:17px;letter-spacing:.02em;font-weight:700;background:var(--brand-text-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.brand-sub{margin:1px 0 0;font-size:11px;color:var(--dim);letter-spacing:.06em}.topbar-actions{display:flex;align-items:center;gap:8px}.status{display:flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--chip-bg)}.dot{width:8px;height:8px;border-radius:50%;background:var(--dot-off)}.dot-on{background:var(--accent);box-shadow:0 0 8px var(--accent);animation:pulse 1.8s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.status-text{font-size:12px;color:var(--dim);font-family:var(--font-mono)}.tgl{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:34px;height:34px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:var(--chip-bg);color:var(--dim);font-family:var(--font-mono);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s var(--ease)}.tgl:hover{color:var(--accent);border-color:var(--line-hi);box-shadow:0 0 12px var(--accent-bg)}.tgl svg{width:15px;height:15px}.lang-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:24px;background-image:linear-gradient(45deg,transparent 50%,var(--dim) 50%),linear-gradient(135deg,var(--dim) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px;background-repeat:no-repeat}.lang-select option{background:var(--bg);color:var(--text)}.workspace{position:relative;z-index:2;flex:1;display:grid;grid-template-columns:400px 1fr;gap:18px;padding:18px 22px;min-height:0}.panel{position:relative;border:1px solid var(--line);border-radius:14px;background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--panel-shadow);min-height:0;display:flex;flex-direction:column;overflow:hidden}.panel-strip{height:2px;background:var(--grad);opacity:.75;flex:none}.side{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent}.blk{padding:16px 18px;border-bottom:1px solid var(--line)}.blk:last-child{border-bottom:none}.blk-grow{flex:1}.blk-foot{position:sticky;bottom:0;background:var(--foot-fade)}.blk-title{display:flex;align-items:center;gap:9px;margin:0 0 8px;font-family:var(--font-disp);font-size:14px;font-weight:600;letter-spacing:.05em}.idx{font-family:var(--font-mono);font-size:11px;color:var(--accent);border:1px solid var(--accent-border);border-radius:5px;padding:1px 6px;background:var(--accent-bg)}.count{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--dim)}.muted{color:var(--dim);font-size:12px;line-height:1.6;margin:4px 0 10px}.muted.tiny{font-size:11px;text-align:center;margin:8px 0 0}.input-text{width:100%;resize:vertical;min-height:120px;padding:11px 12px;border-radius:9px;border:1px solid var(--line);background:var(--input-bg);color:var(--text);font-family:var(--font-mono);font-size:12px;line-height:1.65;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.input-text:focus{outline:none;border-color:var(--line-hi);box-shadow:var(--focus-glow)}.input-text::placeholder{color:var(--placeholder)}.btn-row{display:flex;gap:9px;margin-top:11px;flex-wrap:wrap}.btn{padding:8px 16px;border-radius:8px;border:1px solid transparent;background:var(--btn-bg);color:var(--btn-text);font-family:var(--font-disp);font-size:13px;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:all .2s var(--ease)}.btn:hover:not(:disabled){background:var(--btn-bg-hover);border-color:var(--line-hi);box-shadow:0 0 14px var(--accent-bg)}.btn:disabled{opacity:.38;cursor:not-allowed}.btn-ghost{background:transparent;border-color:var(--line);color:var(--dim)}.btn-ghost:hover:not(:disabled){color:var(--btn-text);background:var(--btn-ghost-hover-bg)}.gif-opt{display:flex;align-items:center;gap:8px;margin:2px 0 -2px;font-size:12px;color:var(--dim);cursor:pointer;-webkit-user-select:none;user-select:none}.gif-opt input{accent-color:var(--cyan);cursor:pointer}.gif-opt input:disabled{cursor:default}.btn-primary{background:var(--grad);color:var(--btn-primary-text);border:none}.btn-primary:hover:not(:disabled){background:var(--grad);box-shadow:var(--btn-primary-glow);filter:brightness(1.08)}.btn-block{width:100%;padding:11px 16px;font-size:14px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.stat{padding:10px 8px;text-align:center;border:1px solid var(--line);border-radius:9px;background:var(--card-inset)}.stat-num{display:block;font-family:var(--font-disp);font-size:21px;font-weight:700;color:var(--accent);text-shadow:var(--num-glow)}.stat-label{font-size:11px;color:var(--dim);letter-spacing:.08em}.sel-list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:7px}.sel-list li{display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:var(--card-inset);animation:rise .24s var(--ease)}@keyframes rise{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.sel-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 7px var(--accent);flex:none}.sel-name{flex:1;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sel-x{border:none;background:transparent;color:var(--dim);font-size:16px;line-height:1;cursor:pointer;padding:0 3px;transition:color .15s}.sel-x:hover{color:var(--danger)}.main{padding:0}.main-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 20px 12px;border-bottom:1px solid var(--line)}.main-title{margin:0;font-family:var(--font-disp);font-size:17px;font-weight:600;letter-spacing:.06em}.main-head .muted{margin:3px 0 0}.main-actions{display:flex;gap:8px;flex-shrink:0}.pipeline{display:flex;align-items:center;gap:12px;padding:10px 20px 0}.pipeline-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--accent);white-space:nowrap;text-shadow:var(--num-glow)}.pipeline-track{position:relative;flex:1;height:3px;border-radius:2px;background:var(--track-bg);overflow:hidden;display:block}.pipeline-track.wide{flex:none;width:min(320px,70%)}.pipeline-fill{position:absolute;inset:0 auto 0 0;border-radius:2px;background:var(--grad);box-shadow:0 0 12px var(--accent);transition:width .22s cubic-bezier(.22,.61,.36,1)}.pipeline-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--shimmer);transform:translate(-100%);animation:shimmer 1.1s linear infinite}@keyframes shimmer{to{transform:translate(100%)}}.scan-stage{position:relative;overflow:hidden}.scan-beam{position:absolute;left:0;right:0;top:-30%;height:30%;background:var(--scan-grad);border-bottom:1px solid var(--scan-line);animation:scanY 1.8s linear infinite;pointer-events:none}@keyframes scanY{to{top:110%}}.card-enter{animation:cardEnter .5s cubic-bezier(.22,.61,.36,1) both}@keyframes cardEnter{0%{opacity:0;transform:translateY(16px) scale(.97);filter:blur(3px) saturate(.6)}60%{opacity:1;filter:blur(0) saturate(1)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.card-enter,.scan-beam,.empty-glyph,.empty-glyph.pulse,.pipeline-fill:after{animation:none!important}.pipeline-fill{transition:none}}.scroll{flex:1;overflow-y:auto;padding:6px 20px 22px;scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent}.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--dim);font-size:13px}.empty-glyph{width:58px;height:58px;border:1.5px dashed var(--glyph-border);border-radius:14px;background:var(--glyph-bg);position:relative;animation:float 3.2s ease-in-out infinite}.empty-glyph:after{content:"";position:absolute;top:14px;right:14px;bottom:14px;left:14px;background:repeating-linear-gradient(90deg,var(--accent) 0 4px,transparent 4px 9px);opacity:.55;border-radius:2px}.empty-glyph.pulse{animation:pulse 1.2s ease-in-out infinite,float 3.2s ease-in-out infinite;border-style:solid;box-shadow:var(--glow)}.hero{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:6px;max-width:560px;text-align:center}.hero-name{font-family:var(--font-disp);font-size:34px;font-weight:700;letter-spacing:.02em;line-height:1.1;background:var(--brand-text-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-tag{margin:0;font-size:15px;color:var(--text);letter-spacing:.04em}.hero-intro{margin:2px 0 0;font-size:12.5px;line-height:1.8;color:var(--dim)}.hero-feats{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px}.hero-feats span{font-family:var(--font-mono);font-size:11px;padding:4px 11px;border:1px solid var(--line);border-radius:999px;background:var(--chip-bg);color:var(--dim)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.layer+.layer{margin-top:22px}.layer-title{display:flex;align-items:center;gap:10px;margin:14px 0 12px;font-family:var(--font-disp);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--notice-text)}.layer-bar{width:22px;height:2px;background:var(--grad);box-shadow:0 0 8px var(--accent);border-radius:2px}.cand-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:15px}.cand{position:relative;border:1px solid var(--line);border-radius:12px;background:var(--card-bg);overflow:hidden;cursor:pointer;transition:transform .22s var(--ease),border-color .22s var(--ease),box-shadow .22s var(--ease)}.cand:hover{transform:translateY(-2px);border-color:var(--line-hi);box-shadow:var(--card-shadow-hover)}.cand-selected{border-color:var(--accent);box-shadow:var(--glow)}.cand-selected:hover{border-color:var(--accent)}.cand-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px 9px}.cand-title{display:flex;align-items:center;gap:8px;min-width:0}.cand-name{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cand-type{flex:none;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--accent);border:1px solid var(--accent-border);background:var(--accent-bg);border-radius:5px;padding:2px 6px;text-transform:uppercase}.check{flex:none;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--btn-primary-text);border:1px solid var(--line);background:transparent;transition:all .2s var(--ease)}.cand-selected .check{background:var(--grad);border-color:transparent;box-shadow:0 0 10px var(--accent)}.cand-stage{position:relative;margin:0 13px;border-radius:9px;background:linear-gradient(var(--stage-grid) 1px,transparent 1px),linear-gradient(90deg,var(--stage-grid) 1px,transparent 1px),var(--stage-bg);background-size:18px 18px,18px 18px,auto;border:1px solid var(--stage-border)}.chart-holder{height:168px}.cand-layer{position:absolute;top:7px;right:7px;font-size:10px;color:var(--dim);font-family:var(--font-mono);letter-spacing:.06em;background:var(--stage-chip-bg);border:1px solid var(--line);border-radius:5px;padding:2px 6px}.cand-reasoning{padding:10px 13px 13px}.cand-reasoning p{margin:6px 0 0;font-size:12px;line-height:1.65;color:var(--dim);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tag-incomplete{display:inline-block;font-size:10.5px;color:var(--danger);border:1px solid var(--danger-border);background:var(--danger-bg);border-radius:5px;padding:2px 7px;letter-spacing:.04em}.error,.notice{font-size:12.5px;line-height:1.6;margin:10px 0 0}.error{color:var(--danger)}.error.banner{margin:12px 20px 0;padding:10px 13px;border:1px solid var(--danger-border);border-radius:9px;background:var(--danger-bg)}.notice{color:var(--notice-text)}.notice.warn{margin:12px 20px 0;padding:10px 13px;color:var(--amber);border:1px solid var(--amber-border);border-radius:9px;background:var(--amber-bg)}@media (max-width: 1080px){.workspace{grid-template-columns:1fr;overflow:visible}body{overflow:auto}.shell{height:auto;min-height:100vh;overflow:visible}.side,.main .scroll{overflow:visible}.blk-foot{position:static}}@media (max-width: 640px){.topbar{padding:11px 14px;gap:10px}.brand{gap:9px;min-width:0}.brand-mark{width:30px;height:30px;flex:none}.brand h1{font-size:14px;letter-spacing:.02em}.hero-name{font-size:26px}.hero-intro{font-size:12px}.brand-sub{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40vw}.status-text{display:none}.topbar-actions{gap:6px;flex:none}.corner{display:none}.workspace{gap:12px;padding:12px 12px 20px}.blk{padding:14px}.main-head{flex-wrap:wrap;gap:8px;padding:14px 14px 10px}.main-head>div:first-child{flex:1 1 100%;min-width:0}.main-head .muted{white-space:normal;overflow-wrap:break-word;margin:3px 0 0}.main-actions{flex-shrink:1;flex-wrap:wrap}.scroll{padding:6px 14px 18px}.cand-grid{grid-template-columns:1fr;gap:12px}.stat-grid{gap:7px}.stat-num{font-size:18px}}
