:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f4f6f9;--surface:#fff;--surface-2:#eceff4;--text:#14181e;--muted:#5a6472;--border:#d7dce4;--accent:#2f6fde;--accent-text:#fff;--edge:#97a3b5;--walk:#d99a00;--glow-dim:#f0b43c;--glow-bright:#ffc21a;--entry:#2f6fde;--heat-cold:#7f93b3;--heat-hot:#e4573d;--danger:#c4372b;--node-label:#1c2129;--label-halo:#f4f6f9eb;--shadow:0 10px 30px #0f172a2e;--radius:16px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0d1016;--surface:#161b22;--surface-2:#1e242d;--text:#e7ebf1;--muted:#98a2b0;--border:#2a313c;--accent:#6c9eff;--accent-text:#0d1016;--edge:#4b5566;--walk:#ffc94d;--glow-dim:#c99633;--glow-bright:#ffd75e;--entry:#6c9eff;--heat-cold:#4f6488;--heat-hot:#f0643f;--danger:#ff6b5e;--node-label:#e7ebf1;--label-halo:#0d1016e6;--shadow:0 10px 30px #00000080}}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-text-size-adjust:100%;margin:0}a{color:var(--accent)}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn-primary:hover{filter:brightness(1.05);background:var(--accent)}.btn:disabled{opacity:.5;cursor:default}.icon-btn{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--text);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.icon-btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.app{position:fixed;inset:0;overflow:hidden}.topbar{z-index:20;padding:calc(env(safe-area-inset-top) + 10px) 16px 18px;pointer-events:none;background:linear-gradient(var(--bg) 55%, transparent);justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute;top:0;left:0;right:0}.topbar>*{pointer-events:auto}.brand{flex-direction:column;min-width:0;display:flex}.brand strong{letter-spacing:.01em;font-size:17px}.brand span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.topbar-actions{flex-shrink:0;gap:8px;display:flex}.topbar-actions form{margin:0}.stage{touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.stage svg{width:100%;height:100%;display:block}.stage-empty{color:var(--muted);text-align:center;place-items:center;padding:32px;display:grid;position:absolute;inset:0}.edge{stroke:var(--edge);stroke-width:1px;opacity:.55;transition:opacity .3s}.edge.faded{opacity:.2}.edge.walked{stroke:var(--walk);stroke-width:2.5px;opacity:.95}.node{cursor:pointer;outline:none}.node circle.body{stroke:var(--surface);stroke-width:2px;transition:r .3s,opacity .3s}.node .halo{opacity:0;transition:opacity .4s,fill .4s}.node.entry .halo{fill:var(--entry);opacity:.35}.node.visited .halo{fill:var(--glow-dim);opacity:.45}.node.cited .halo{fill:var(--glow-bright);opacity:.95}.node.cited circle.body{stroke:var(--glow-bright);stroke-width:3px}.node.focus .halo{animation:1.1s ease-in-out infinite pulse}.node.context,.node.stub{opacity:.45}.node.stub circle.body{stroke-dasharray:3 3;stroke:var(--muted)}.node:focus-visible circle.body{stroke:var(--accent);stroke-width:3px}.node text{fill:var(--node-label);paint-order:stroke;stroke:var(--label-halo);stroke-width:4px;stroke-linejoin:round;pointer-events:none;font-size:12px}.node.visited text,.node.cited text{font-weight:600}@keyframes pulse{0%,to{opacity:.35}50%{opacity:.9}}@media (prefers-reduced-motion:reduce){.node.focus .halo{animation:none}}.chat{z-index:30;pointer-events:none;padding:0 8px calc(env(safe-area-inset-bottom) + 8px);justify-content:center;display:flex;position:absolute;bottom:0;left:0;right:0}.chat-panel{pointer-events:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:720px;max-height:min(62vh,640px);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.chat-head{border-bottom:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;gap:8px;padding:8px 8px 8px 14px;font-size:13px;display:flex}.chat-head-actions{gap:6px;display:flex}.chat-log{overscroll-behavior:contain;flex-direction:column;gap:14px;padding:12px 14px;display:flex;overflow-y:auto}.chat-empty{color:var(--muted);margin:4px 0;font-size:14px}.turn-question{background:var(--accent);max-width:85%;color:var(--accent-text);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:14px 14px 4px;align-self:flex-end;padding:8px 12px;font-size:15px}.turn-answer{overflow-wrap:anywhere;font-size:15px;line-height:1.5}.turn-meta{color:var(--muted);margin-top:6px;font-size:12px}.turn-error{color:var(--danger);font-size:14px}.chat-form{border-top:1px solid var(--border);align-items:flex-end;gap:8px;padding:10px;display:flex}.chat-form textarea{resize:none;border:1px solid var(--border);background:var(--surface-2);border-radius:12px;flex:1;min-height:44px;max-height:120px;padding:10px 12px;font-size:16px;line-height:1.35}.chat-form textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.pill{pointer-events:auto;background:var(--surface);border:1px solid var(--border);max-width:min(92vw,520px);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:10px;padding:10px 16px;font-size:14px;display:inline-flex}.pill-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.spinner{border:2px solid var(--border);border-top-color:var(--walk);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p,.md ul,.md ol{margin:0 0 .7em}.md ul,.md ol{padding-left:1.3em}.md h1{font-size:1.4em}.md h2{margin:1.2em 0 .5em;font-size:1.15em}.md h3{margin:1em 0 .4em;font-size:1.02em}.md code{background:var(--surface-2);border-radius:4px;padding:0 4px;font-size:.92em}.md pre{background:var(--surface-2);border-radius:8px;padding:10px;overflow-x:auto}.md blockquote{border-left:3px solid var(--border);color:var(--muted);margin:0 0 .7em;padding-left:12px}.table-scroll{margin:0 0 .8em;overflow-x:auto}.md table{border-collapse:collapse;min-width:100%;font-size:.92em}.md th,.md td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:5px 8px}.md th{background:var(--surface-2)}a.node-link{color:var(--accent);border-bottom:1px solid color-mix(in srgb, var(--accent) 40%, transparent);text-decoration:none}a.node-link.cited{font-weight:600}.sheet-backdrop{z-index:40;background:#00000059;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.sheet{background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:760px;height:min(88vh,900px);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.sheet-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:8px;padding:14px 12px 10px 16px;display:flex}.sheet-head h2{margin:0;font-size:19px}.sheet-head .wiki{color:var(--muted);font-size:12px}.sheet-body{padding:14px 16px calc(env(safe-area-inset-bottom) + 24px);overscroll-behavior:contain;overflow-y:auto}.reader-actions{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.reader-section{margin-top:20px}.reader-section h3{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 8px;font-size:13px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:999px;padding:5px 10px;font-size:13px;text-decoration:none}details.properties summary{cursor:pointer;color:var(--muted);font-size:14px}.notice{background:var(--surface-2);color:var(--muted);border-radius:10px;margin-bottom:12px;padding:8px 12px;font-size:13px}.page{max-width:720px;padding:calc(env(safe-area-inset-top) + 24px) 16px 48px;margin:0 auto}.page h1{margin:0 0 16px;font-size:24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:18px}.field{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.field input{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;padding:10px 12px;font-size:16px}.muted{color:var(--muted)}.chat-list{margin:0;padding:0;list-style:none}.chat-list li{border-bottom:1px solid var(--border)}.chat-list a{color:var(--text);padding:12px 4px;text-decoration:none;display:block}.chat-list .title{font-weight:600}.chat-list .sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:14px;overflow:hidden}
