:root{--bg: #0b0f14;--panel: #121820;--line: #1e2836;--text: #e8eef7;--muted: #8b9bb4;--accent: #3d8bfd;--good: #2ecc71;--bad: #e74c3c;--warn: #f39c12;--font: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(1200px 600px at 10% -10%,#1a2740 0%,transparent 55%),radial-gradient(900px 500px at 100% 0%,#142018 0%,transparent 50%),var(--bg);color:var(--text);font-family:var(--font)}#app{max-width:1280px;margin:0 auto;padding:16px 18px 28px}.top{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-bottom:16px}.brand{display:flex;gap:12px;align-items:center}.logo{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#3d8bfd,#1f4f9a);font-weight:700;font-size:22px}.brand h1{margin:0;font-size:20px;letter-spacing:.02em}.sub{margin:2px 0 0;color:var(--muted);font-size:12px}.search-row{display:flex;gap:8px}input{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:10px 12px;width:160px}button{border:0;border-radius:8px;padding:10px 14px;background:var(--accent);color:#fff;cursor:pointer;font-weight:600}button.ghost{background:transparent;border:1px solid var(--line);color:var(--text)}button:disabled{opacity:.5;cursor:not-allowed}.layout{display:grid;grid-template-columns:280px 1fr;gap:14px}@media(max-width:900px){.layout{grid-template-columns:1fr}}.panel{background:color-mix(in srgb,var(--panel) 92%,black);border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:12px}.panel-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.panel-hd h2{margin:0;font-size:14px}.list{list-style:none;margin:0;padding:0;max-height:280px;overflow:auto}.list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:8px;cursor:pointer}.list li .sym{display:flex;flex-direction:column;gap:2px;min-width:0}.list li .sym strong{font-size:13px;font-weight:600}.list li .sym small{color:var(--muted);font-size:11px}.list li:hover,.list li.active{background:#1a2433}.list li .rm{opacity:.55;font-size:12px;border:0;background:transparent;color:var(--muted);padding:0 4px}.hits li{border-left:3px solid var(--good)}.muted{color:var(--muted);font-size:12px}.tabs{display:flex;gap:8px;margin-bottom:8px}.tab{background:#182131;color:var(--muted)}.tab.active{background:#243552;color:var(--text)}.chart-wrap{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#0f1419;height:520px;touch-action:none}.ghost-tab{margin-left:auto;background:transparent!important;border:1px solid var(--line);color:var(--muted)!important;font-weight:500}#chart{width:100%;height:100%;display:block}.checklist{list-style:none;margin:0;padding:0}.checklist li{display:grid;grid-template-columns:22px 1fr;gap:8px;padding:10px 4px;border-bottom:1px solid var(--line);font-size:13px}.checklist li:last-child{border-bottom:0}.dot{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700}.dot.ok{background:#1e3d2f;color:var(--good)}.dot.no{background:#3a2222;color:var(--bad)}.badge{font-size:12px;padding:4px 8px;border-radius:999px;background:#243044;color:var(--muted)}.badge.hit{background:#1e3d2f;color:var(--good)}.badge.miss{background:#3a2222;color:var(--bad)}.foot{margin-top:10px;color:var(--muted);font-size:12px;text-align:center}
