:root{--bg-0:#05080f;--bg-1:#0a1322;--bg-2:#0e1c33;--panel:#0c1526d1;--panel-2:#101b3099;--line:#ffffff17;--line-soft:#ffffff0d;--text:#e9eef7;--dim:#93a5c1;--faint:#5d7193;--accent:#3b82f6;--radius:14px;--sans:"Instrument Sans",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--sans);color:var(--text);background:radial-gradient(120% 90% at 50% 38%, #112543 0%, #0a1526 42%, var(--bg-0) 100%);overflow:hidden}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input{font-family:inherit}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#ffffff1f padding-box padding-box;border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#fff3 padding-box padding-box}#root,.app{width:100%;height:100%}.app{position:relative;overflow:hidden}.vignette{pointer-events:none;z-index:1;background:radial-gradient(110% 80% at 50% 42%,#0000 55%,#02050cbf 100%);position:fixed;inset:0}.starfield{z-index:0;pointer-events:none;position:fixed;inset:0}.starfield span{background:#cfe0ff;border-radius:50%;animation:linear infinite twinkle;position:absolute;box-shadow:0 0 4px #b4d2ff80}@keyframes twinkle{0%,to{opacity:.18}50%{opacity:.7}}.eyebrow{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);align-items:center;gap:7px;font-size:10.5px;display:flex}.topbar{z-index:60;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#070c16db,#070c1673 70%,#0000);align-items:center;gap:18px;height:62px;padding:0 20px;display:flex;position:absolute;top:0;left:0;right:0}.logo{align-items:center;gap:10px;display:flex}.logo-text{letter-spacing:-.01em;font-size:17px;font-weight:600}.logo-text span{color:var(--dim);font-weight:500}.searchbar{border:1px solid var(--line);height:38px;color:var(--dim);background:#ffffff0d;border-radius:10px;flex:0 380px;align-items:center;gap:9px;margin-left:8px;padding:0 14px;transition:border-color .2s,background .2s;display:flex}.searchbar:focus-within{border-color:color-mix(in srgb,var(--accent) 60%,transparent);background:#ffffff12}.searchbar input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:14px}.searchbar input::placeholder{color:var(--faint)}.searchbar-wrap{flex:0 380px;margin-left:8px;display:flex;position:relative}.searchbar-wrap .searchbar{flex:1;margin-left:0}.search-results{z-index:40;background:var(--panel,#0c1526d1);border:1px solid #ffffff14;border-radius:12px;max-height:340px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden auto;box-shadow:0 12px 32px #00000073}.search-hint{color:var(--faint);padding:12px 14px;font-size:13px}.search-result{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;align-items:center;gap:9px;padding:9px 14px;font-size:14px;display:flex}.search-result:hover,.search-result.active{background:#ffffff0f}.search-result .sr-name{white-space:nowrap;font-weight:600}.search-result .sr-meta{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.search-result .sr-star-spacer{flex:0 0 13px;width:13px;height:13px}.search-more{width:100%;color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:none;border-top:1px solid #ffffff0f;padding:9px 14px;font-size:13px}.search-more:hover{background:#ffffff0d}.top-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.btn{border-radius:10px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 16px;font-size:14px;font-weight:600;transition:transform .14s,box-shadow .2s,background .2s,border-color .2s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn.sm{height:36px;padding:0 13px;font-size:13px}.btn.primary{background:var(--accent);color:#06101f;box-shadow:0 4px 18px -4px color-mix(in srgb,var(--accent) 70%,transparent)}.btn.primary:hover{box-shadow:0 6px 26px -4px color-mix(in srgb,var(--accent) 85%,transparent);filter:brightness(1.06)}.btn.primary:disabled{opacity:.4;box-shadow:none;cursor:not-allowed}.btn.ghost{border:1px solid var(--line);color:var(--text);background:#ffffff0d}.btn.ghost:hover{background:#ffffff17;border-color:#ffffff2e}.icon-btn{width:40px;height:40px;color:var(--dim);border:1px solid var(--line);background:#ffffff0a;border-radius:10px;justify-content:center;align-items:center;transition:all .18s;display:flex}.icon-btn:hover{color:var(--text);background:#ffffff17}.icon-btn.on{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,transparent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.me-chip{border:1px solid var(--line);border-radius:50%;padding:0;transition:all .18s}.me-chip:hover{border-color:var(--accent)}.canvas-wrap{z-index:2;position:absolute;inset:62px 0 0}.stage{cursor:grab;touch-action:none;position:absolute;inset:0;overflow:hidden}.stage:active{cursor:grabbing}.viewport{transform-origin:50%;will-change:transform;width:1900px;height:1200px;margin-top:-600px;margin-left:-950px;position:absolute;top:50%;left:50%}.links{pointer-events:none;position:absolute;inset:0;overflow:visible}.nodes{position:absolute;inset:0}.path-line{stroke-dasharray:2 9;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--accent) 90%,transparent));animation:1s linear infinite flow}@keyframes flow{to{stroke-dashoffset:-11px}}.cat-label{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:color-mix(in srgb,var(--c) 75%,#fff 25%);white-space:nowrap;pointer-events:none;text-shadow:0 0 14px color-mix(in srgb,var(--c) 60%,transparent);align-items:center;gap:8px;font-size:12px;transition:opacity .3s;display:flex;position:absolute;transform:translate(-50%,-50%)}.cat-dot{background:var(--c);width:7px;height:7px;box-shadow:0 0 8px var(--c);border-radius:50%}.node{padding:0;transition:transform .22s cubic-bezier(.2,.8,.2,1);position:absolute;transform:translate(-50%,-50%)}.node[data-state=hover],.node[data-state=active]{transform:translate(-50%,-50%)scale(1.16)}.avatar{transition:opacity .25s;position:relative}.avatar-disc{border-radius:50%;width:100%;height:100%;transition:box-shadow .25s;position:relative;overflow:hidden}.node-tip{border:1px solid var(--line);white-space:nowrap;opacity:0;pointer-events:none;z-index:80;background:#080e1af5;border-radius:9px;flex-direction:column;gap:1px;padding:7px 11px;transition:all .18s;display:flex;position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 12px 30px -10px #000000b3}.node-tip strong{font-size:13px;font-weight:600}.node-tip span{color:var(--dim);font-size:11.5px}.node[data-state=hover] .node-tip,.node[data-state=active] .node-tip{opacity:1;transform:translate(-50%)translateY(0)}.hop-badge{min-width:18px;height:18px;font-family:var(--mono);color:#06101f;box-shadow:0 0 0 2px var(--bg-0);border-radius:9px;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex;position:absolute;top:-4px;right:-4px}.node.ego{cursor:pointer}.ego-halo{pointer-events:none;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 28%,transparent),transparent 68%);border-radius:50%;width:160px;height:160px;animation:4.5s ease-in-out infinite pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pulse{0%,to{opacity:.55;transform:translate(-50%,-50%)scale(1)}50%{opacity:.9;transform:translate(-50%,-50%)scale(1.12)}}.ego-name{letter-spacing:.01em;white-space:nowrap;text-shadow:0 2px 12px #000c;font-size:14px;font-weight:600;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.map-controls{z-index:20;flex-direction:column;gap:8px;display:flex;position:absolute;bottom:18px;right:18px}.map-controls button{width:38px;height:38px;color:var(--dim);background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:10px;justify-content:center;align-items:center;transition:all .16s;display:flex}.map-controls button:hover{color:var(--text);border-color:#fff3}.map-controls button.on{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,transparent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.legend{z-index:20;background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;gap:7px 16px;max-width:280px;padding:12px 14px;display:flex;position:absolute;bottom:18px;left:18px}.legend-item{color:var(--dim);align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.view-toggle{z-index:21;background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:12px;gap:4px;padding:4px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px -14px #0009}.view-toggle button{color:var(--dim);border-radius:9px;align-items:center;gap:7px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .16s;display:flex}.view-toggle button:hover{color:var(--text)}.view-toggle button.on{color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.pathbar{z-index:25;background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));box-shadow:0 10px 40px -12px color-mix(in srgb,var(--accent) 40%,transparent);border-radius:12px;align-items:center;gap:14px;padding:9px 9px 9px 16px;animation:.35s cubic-bezier(.2,.8,.2,1) dropin;display:flex;position:absolute;top:18px;left:50%;transform:translate(-50%)}@keyframes dropin{0%{opacity:0;transform:translate(-50%)translateY(-10px)}}.pathbar-eyebrow{color:var(--accent)}.pathbar-text{color:var(--dim);font-size:14px}.pathbar-text strong{color:var(--text)}.pathbar-clear{color:var(--dim);background:#ffffff0d;border-radius:8px;align-items:center;gap:6px;padding:6px 11px;font-size:12.5px;transition:all .16s;display:flex}.pathbar-clear:hover{color:var(--text);background:#ffffff1a}.dock{z-index:55;background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-left:1px solid var(--line);flex-direction:column;width:394px;transition:transform .4s cubic-bezier(.2,.85,.2,1);display:flex;position:absolute;top:62px;bottom:0;right:0;transform:translate(100%);box-shadow:-24px 0 60px -30px #000000b3}.dock.open{transform:translate(0)}.dock-tabs{border-bottom:1px solid var(--line-soft);align-items:center;gap:4px;padding:10px 12px;display:flex}.dock-tabs button{color:var(--faint);border-radius:9px;align-items:center;gap:7px;padding:8px 12px;font-size:13px;font-weight:600;transition:all .16s;display:flex}.dock-tabs button:hover:not(:disabled){color:var(--dim)}.dock-tabs button.on{color:var(--text);background:#ffffff12}.dock-tabs button:disabled{opacity:.4;cursor:default}.dock-collapse{width:34px;height:34px;margin-left:auto}.panel{flex-direction:column;flex:1;display:flex;overflow-y:auto}.panel-head{justify-content:space-between;align-items:center;padding:16px 18px 4px;display:flex}.profile{padding-bottom:24px}.profile-hero{align-items:center;gap:16px;padding:14px 18px 8px;display:flex}.profile-id{min-width:0}.profile-name{letter-spacing:-.01em;align-items:center;gap:7px;font-size:20px;font-weight:600;display:flex}.verified-chip{color:var(--accent);filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent) 60%,transparent));align-items:center;display:inline-flex}.profile-role{color:var(--text);margin-top:3px;font-size:13.5px;line-height:1.35}.profile-org{color:var(--dim);font-size:13px;line-height:1.35}.profile-loc{color:var(--faint);align-items:center;gap:5px;margin-top:5px;font-size:12px;display:flex}.chip-row{flex-wrap:wrap;gap:8px;padding:8px 18px 4px;display:flex}.cat-chip{color:color-mix(in srgb,var(--c) 80%,#fff);background:color-mix(in srgb,var(--c) 14%,transparent);border:1px solid color-mix(in srgb,var(--c) 35%,transparent);border-radius:20px;align-items:center;gap:7px;padding:5px 11px;font-size:12px;font-weight:600;display:flex}.cat-chip .cat-dot{background:var(--c);box-shadow:0 0 6px var(--c)}.tier-chip{color:var(--dim);border:1px solid var(--line);white-space:nowrap;background:#ffffff0d;border-radius:20px;padding:5px 11px;font-size:12px;font-weight:500}.stat-grid{gap:10px;padding:14px 18px;display:flex}.stat{border:1px solid var(--line-soft);background:#ffffff09;border-radius:12px;flex:1;padding:12px 13px}.stat-val{font-variant-numeric:tabular-nums;font-size:19px;font-weight:600}.stat-label{color:var(--faint);margin-top:3px;font-size:11px;line-height:1.3}.stat-sub{color:var(--dim);margin-top:3px;font-size:10.5px}.stat-strength{flex:1.4}.strength{align-items:center;gap:9px;margin-top:8px;display:flex}.strength-track{background:#ffffff1a;border-radius:4px;flex:1;height:6px;overflow:hidden}.strength-fill{background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 50%,#9be7ff));height:100%;box-shadow:0 0 10px color-mix(in srgb,var(--accent) 70%,transparent);border-radius:4px;transition:width .6s ease-out}@media (prefers-reduced-motion:reduce){.strength-fill{transition:none}}.strength .mono{color:var(--text);font-size:13px;font-weight:500}.panel-section{padding:6px 18px 14px}.section-label{font-size:11px;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);align-items:center;gap:7px;margin-bottom:10px;display:flex}.section-label .count{color:var(--dim);margin-left:auto}.bio{color:#c5d2e6;text-wrap:pretty;margin:0;font-size:14px;line-height:1.6}.tag-wrap{flex-wrap:wrap;gap:7px;display:flex}.tag{color:color-mix(in srgb,var(--tc,#9fb3d0) 85%,#fff);background:color-mix(in srgb,var(--tc,#9fb3d0) 12%,transparent);border:1px solid color-mix(in srgb,var(--tc,#9fb3d0) 25%,transparent);border-radius:7px;padding:5px 10px;font-size:12px;font-weight:500}.conn-list{flex-direction:column;gap:4px;display:flex}.conn-row{text-align:left;color:var(--dim);border-radius:10px;align-items:center;gap:11px;padding:8px;transition:all .14s;display:flex}.conn-row:hover{color:var(--text);background:#ffffff0f}.conn-meta{flex:1;min-width:0}.conn-meta strong{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;display:block;overflow:hidden}.conn-meta span{color:var(--faint);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;display:block;overflow:hidden}.panel-actions{gap:10px;padding:8px 18px 14px;display:flex}.panel-actions .btn{flex:1;height:42px}.provenance{color:var(--faint);letter-spacing:.02em;padding:4px 18px 10px;font-size:10.5px;line-height:1.7}.provenance-sources{flex-wrap:wrap;gap:4px 10px;margin-top:4px;display:flex}.provenance-source{color:var(--dim);border-bottom:1px solid var(--line);font-size:10.5px;line-height:1.5;text-decoration:none;transition:color .14s,border-color .14s}.provenance-source:hover{color:var(--text);border-color:#ffffff4d}.provenance-source:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:2px;border-radius:2px}.chat{padding-bottom:0}.chat-scroll{flex-direction:column;flex:1;gap:16px;padding:8px 18px 14px;display:flex;overflow-y:auto}.chat-empty{text-align:center;color:var(--dim);flex-direction:column;align-items:center;gap:16px;max-width:280px;margin:auto;display:flex}.chat-empty p{margin:0;font-size:14px;line-height:1.6}.ai-avatar{width:30px;height:30px;color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:9px;flex:none;justify-content:center;align-items:center;display:flex}.ai-avatar.lg{border-radius:16px;width:54px;height:54px}.msg{font-size:14px;line-height:1.6;animation:.3s msgin}@keyframes msgin{0%{opacity:0;transform:translateY(6px)}}.msg.user{background:var(--accent);color:#06101f;border-radius:14px 14px 4px;align-self:flex-end;max-width:85%;padding:10px 14px;font-weight:500}.msg.ai{gap:11px;max-width:100%;display:flex}.ai-body{flex:1;min-width:0}.ai-body p{color:#d2dcec;text-wrap:pretty;margin:0}.typing{align-items:center;gap:5px;min-height:28px;padding:6px 0;display:flex}.typing span{background:var(--dim);border-radius:50%;flex:none;width:7px;height:7px;animation:1.2s ease-in-out infinite bounce}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}@media (prefers-reduced-motion:reduce){.typing span{opacity:.5;animation:none}}.pathway-card{border:1px solid var(--line);background:#ffffff0a;border-radius:13px;margin-top:12px;padding:14px}.pathway-head{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);align-items:center;gap:7px;margin-bottom:12px;font-size:10.5px;display:flex}.pathway-chain{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.chain-node{flex-direction:column;align-items:center;gap:5px;padding:2px;transition:all .14s;display:flex}.chain-node span{color:var(--dim);font-size:11px;font-weight:500}.chain-node:hover span{color:var(--text)}.chain-arrow{opacity:.7;display:flex}.reasons{flex-direction:column;gap:10px;margin:12px 0 0;padding:0;list-style:none;display:flex}.reasons li{color:var(--dim);gap:10px;font-size:12.5px;line-height:1.5;display:flex}.r-num{flex:none;font-weight:600}.followups{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.chip-btn{color:var(--dim);border:1px solid var(--line);text-align:left;background:#ffffff0d;border-radius:18px;align-items:center;min-height:36px;padding:7px 12px;font-size:12.5px;font-weight:500;transition:all .14s;display:inline-flex}.chip-btn:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.chip-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:2px}.chip-btn:active{transform:scale(.97)}.suggestions{flex-wrap:wrap;gap:7px;padding:0 18px 12px;display:flex}.chat-input{border-top:1px solid var(--line-soft);background:#070c1666;align-items:center;gap:9px;padding:12px 16px;display:flex}.chat-input input{border:1px solid var(--line);color:var(--text);background:#ffffff0d;border-radius:11px;outline:none;flex:1;padding:11px 14px;font-size:14px;transition:border-color .18s}.chat-input input:focus{border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.chat-input input::placeholder{color:var(--faint)}.send-btn{background:var(--accent);color:#06101f;border-radius:11px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;transition:all .16s;display:flex}.send-btn:disabled{opacity:.35;cursor:not-allowed}.send-btn:not(:disabled):hover{filter:brightness(1.08)}.send-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:2px}.admin-overlay{z-index:120;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#03060da8;justify-content:center;align-items:center;padding:24px;animation:.25s fadein;display:flex;position:fixed;inset:0}@keyframes fadein{0%{opacity:0}}.admin-modal{background:var(--bg-1);border:1px solid var(--line);border-radius:20px;width:min(880px,96vw);height:min(560px,90vh);animation:.35s cubic-bezier(.2,.85,.2,1) modalin;display:flex;overflow:hidden;box-shadow:0 40px 120px -30px #000c}@keyframes modalin{0%{opacity:0;transform:scale(.97)translateY(10px)}}.admin-rail{border-right:1px solid var(--line-soft);background:#070c1680;flex-direction:column;flex:none;gap:6px;width:268px;padding:22px 18px;display:flex}.admin-brand{margin-bottom:18px}.method{text-align:left;color:var(--dim);border-radius:12px;align-items:center;gap:13px;padding:12px;transition:all .16s;display:flex}.method:hover{background:#ffffff0a}.method.active{color:var(--text);background:#ffffff12}.method-icon{border:1px solid var(--line);width:38px;height:38px;color:var(--dim);background:#ffffff0d;border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.method.active .method-icon{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.method-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.method-meta strong{color:var(--text);font-size:13.5px;font-weight:600}.method-meta span{color:var(--faint);font-size:11.5px}.admin-note{color:var(--faint);letter-spacing:.02em;margin-top:auto;font-size:10px;line-height:1.5}.admin-main{flex-direction:column;flex:1;display:flex;position:relative}.admin-close{z-index:5;position:absolute;top:16px;right:16px}.admin-stage{flex-direction:column;flex:1;justify-content:center;padding:34px 38px;animation:.3s msgin;display:flex}.admin-dropzone{border:1.5px dashed var(--line);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:16px;padding:34px 28px;transition:border-color .2s,background .2s;display:flex}.admin-dropzone:hover{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 5%,transparent)}.dz-icon{width:62px;height:62px;color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:18px;justify-content:center;align-items:center;display:flex}.dz-input{text-align:center;border:1px solid var(--line);width:100%;max-width:360px;color:var(--text);background:#ffffff0d;border-radius:11px;outline:none;padding:11px 14px;font-size:14px}.dz-input:focus{border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.dz-input::placeholder{color:var(--faint)}.dz-text{color:var(--text);font-size:14px;line-height:1.7}.dz-text span{color:var(--faint);font-size:12px}.admin-cta-row{justify-content:center;gap:12px;margin-top:24px;display:flex}.admin-cta-row.end{justify-content:flex-end;margin-top:auto;padding-top:18px}.scanning{align-items:center;gap:30px}.scan-orb{width:80px;height:80px;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.scan-ring{border:2px solid #0000;border-top-color:var(--accent);border-right-color:color-mix(in srgb,var(--accent) 40%,transparent);border-radius:50%;animation:1s linear infinite spin;position:absolute;inset:-6px}@keyframes spin{to{transform:rotate(360deg)}}.scan-steps{flex-direction:column;align-items:center;gap:11px;display:flex}.scan-step{color:var(--faint);opacity:0;font-size:13.5px;transition:opacity .4s,transform .4s,color .4s;transform:translateY(6px)}.scan-step.on{opacity:1;color:var(--dim);transform:translateY(0)}.scan-step.delay1{transition-delay:.5s}.scan-step.delay2{transition-delay:1s}.review .review-hero{align-items:flex-start;gap:18px;margin-bottom:20px;display:flex}.review-fields{flex-direction:column;flex:1;gap:8px;display:flex}.rf{border:1px solid var(--line);color:var(--text);background:#ffffff0d;border-radius:9px;outline:none;padding:9px 12px;font-size:14px;transition:border-color .16s}.rf.name{font-size:17px;font-weight:600}.rf:focus{border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.rf::placeholder{color:var(--faint)}.review-cat .section-label{margin-bottom:10px}.cat-pick{flex-wrap:wrap;gap:8px;display:flex}.cat-opt{color:var(--dim);border:1px solid var(--line);background:#ffffff0a;border-radius:20px;align-items:center;gap:8px;padding:8px 13px;font-size:12.5px;font-weight:500;transition:all .14s;display:flex}.cat-opt .cat-dot{background:var(--c);box-shadow:0 0 6px var(--c)}.cat-opt:hover{color:var(--text)}.cat-opt.active{color:color-mix(in srgb,var(--c) 85%,#fff);background:color-mix(in srgb,var(--c) 14%,transparent);border-color:color-mix(in srgb,var(--c) 45%,transparent)}.review-bio{color:var(--dim);text-wrap:pretty;margin:18px 0 0;font-size:13px;line-height:1.6}.done{text-align:center;justify-content:center;align-items:center;gap:14px}.done-check{color:#06101f;background:var(--accent);width:76px;height:76px;box-shadow:0 0 40px -6px var(--accent);border-radius:50%;justify-content:center;align-items:center;animation:.4s cubic-bezier(.2,1.4,.4,1) pop;display:flex}@keyframes pop{0%{transform:scale(0)}}.done-text{font-size:18px;font-weight:600}.done-text strong{color:var(--accent)}.done-sub{color:var(--faint);letter-spacing:.06em;text-transform:uppercase;font-size:11px}.app[data-density=compact] .dock{width:360px}.app[data-density=comfy] .dock{width:420px}.node[data-star=on] .avatar{border-radius:50%;box-shadow:0 0 0 2px #e0b341,0 0 18px -3px #e0b341}.star-badge{color:#3a2c06;width:18px;height:18px;box-shadow:0 0 0 2px var(--bg-0);background:#e0b341;border-radius:9px;justify-content:center;align-items:center;display:flex;position:absolute;top:-3px;right:-3px}.star-badge svg{fill:currentColor;stroke:none}.local-edge.drawing{stroke-dasharray:1;stroke-dashoffset:1px;animation:.6s ease-out forwards edge-draw}@keyframes edge-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.local-edge.drawing{animation:none}}.stage3d{cursor:grab}.stage3d:active{cursor:grabbing}.stage3d canvas{display:block}.node3d-label{z-index:15;pointer-events:none;border:1px solid var(--line);white-space:nowrap;background:#080e1af5;border-radius:9px;flex-direction:column;gap:1px;padding:7px 11px;display:flex;position:absolute;top:0;left:0;box-shadow:0 12px 30px -10px #000000b3}.node3d-label strong{font-size:13px;font-weight:600}.node3d-label span{color:var(--dim);font-size:11.5px}.hint3d{z-index:14;font-family:var(--mono);letter-spacing:.08em;color:var(--faint);background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;padding:7px 11px;font-size:11px;position:absolute;top:18px;left:18px}.cat3d-labels{z-index:13;pointer-events:none;position:absolute;inset:0}.cat3d{will-change:transform;top:0;left:0}.sync-pill{color:#7fe6c0;background:#34d3991a;border:1px solid #34d39947;border-radius:20px;align-items:center;gap:7px;height:30px;padding:0 11px;font-size:12px;font-weight:500;display:flex}.sync-dot{background:#34d399;border-radius:50%;width:7px;height:7px;animation:2.4s ease-in-out infinite syncpulse;box-shadow:0 0 8px #34d399}@keyframes syncpulse{0%,to{opacity:.5}50%{opacity:1}}.sync-pill[data-state=syncing] .sync-dot{background:#f5c451;animation-duration:1s;box-shadow:0 0 8px #f5c451}.sync-pill[data-state=error]{cursor:pointer;border-color:#ff7a8a80}.sync-pill[data-state=error] .sync-dot{background:#ff7a8a;animation:none;box-shadow:0 0 8px #ff7a8a}.sync-pill[data-state=offline]{opacity:.7}.sync-pill[data-state=offline] .sync-dot{box-shadow:none;background:#7c8ba0;animation:none}.notif-wrap{position:relative}.notif-badge{min-width:17px;height:17px;font-family:var(--mono);color:#3a0810;box-shadow:0 0 0 2px var(--bg-0);background:#ff7a8a;border-radius:9px;justify-content:center;align-items:center;padding:0 4px;font-size:10.5px;font-weight:600;display:flex;position:absolute;top:-3px;right:-3px}.notif-panel{z-index:80;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line);background:#0b1322f7;border-radius:16px;width:380px;animation:.22s cubic-bezier(.2,.85,.2,1) dropin2;position:absolute;top:48px;right:0;overflow:hidden;box-shadow:0 30px 80px -24px #000c}@keyframes dropin2{0%{opacity:0;transform:translateY(-8px)}}.notif-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:15px 16px 11px;display:flex}.notif-sub{color:var(--faint);font-size:10px}.notif-list{max-height:380px;padding:6px;overflow-y:auto}.notif-item{text-align:left;border-radius:11px;align-items:center;gap:12px;width:100%;padding:11px;transition:all .14s;display:flex;position:relative}.notif-item:hover{background:#ffffff0d}.notif-item.unread{background:color-mix(in srgb,var(--accent) 7%,transparent)}.notif-main{text-align:left;cursor:pointer;color:inherit;background:0 0;border:none;flex:1;align-items:flex-start;gap:12px;display:flex}.notif-dismiss{opacity:0;flex:none;transition:all .14s}.notif-item:hover .notif-dismiss{opacity:.7}.notif-dismiss:hover{opacity:1}.notif-empty{color:var(--faint);text-align:center;padding:18px 11px}.notif-ic{width:32px;height:32px;color:var(--c);background:color-mix(in srgb,var(--c) 15%,transparent);border:1px solid color-mix(in srgb,var(--c) 30%,transparent);border-radius:9px;flex:none;justify-content:center;align-items:center;display:flex}.notif-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.notif-txt{color:var(--dim);font-size:13px;line-height:1.45}.notif-txt strong{color:var(--text);font-weight:600}.notif-time{color:var(--faint);font-size:10.5px}.notif-unread-dot{background:var(--accent);border-radius:50%;flex:none;width:7px;height:7px;margin-top:6px}.notif-foot{color:var(--faint);border-top:1px solid var(--line-soft);align-items:center;gap:7px;padding:11px 16px;font-size:10px;display:flex}.head-actions{align-items:center;gap:8px;display:flex}.star-btn{width:36px;height:36px;color:var(--faint);border:1px solid var(--line);background:#ffffff0a;border-radius:9px;justify-content:center;align-items:center;transition:all .16s;display:flex}.star-btn:hover{color:#e0b341;border-color:#e0b34166}.star-btn.on{color:#e0b341;background:#e0b34124;border-color:#e0b34180}.star-btn.on svg{fill:#e0b341;stroke:none;filter:drop-shadow(0 0 5px #e0b34199)}.social-row{align-items:center;gap:10px;padding:4px 18px 8px;display:flex}.social-label{color:var(--faint);letter-spacing:.06em;font-size:10px}.sync-pending{color:var(--faint);align-items:center;gap:5px;margin-left:auto;font-size:10px;display:flex}.closeness{padding-top:10px;padding-bottom:8px}.closeness-pick{gap:7px;display:flex}.close-opt{color:var(--dim);border:1px solid var(--line);background:#ffffff0a;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:12.5px;font-weight:500;transition:all .14s;display:flex}.close-opt svg{fill:currentColor;stroke:none}.close-opt:hover{color:var(--text)}.close-opt.active{color:color-mix(in srgb,var(--oc) 88%,#fff);background:color-mix(in srgb,var(--oc) 15%,transparent);border-color:color-mix(in srgb,var(--oc) 45%,transparent)}.note-compose{flex-direction:column;gap:8px;display:flex}.note-compose textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:54px;color:var(--text);background:#ffffff0d;border-radius:10px;outline:none;padding:10px 12px;font-family:inherit;font-size:13.5px;line-height:1.5;transition:border-color .16s}.note-compose textarea:focus{border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.note-compose textarea::placeholder{color:var(--faint)}.note-add{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:8px;align-self:flex-end;align-items:center;gap:6px;padding:7px 12px;font-size:12.5px;font-weight:600;transition:all .14s;display:flex}.note-add:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 16%,transparent)}.note-add:disabled{opacity:.4;cursor:not-allowed}.note-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.note-item{border:1px solid var(--line-soft);background:#ffffff09;border-radius:11px;padding:11px 13px}.note-item p{color:#cdd9ec;text-wrap:pretty;margin:0 0 7px;font-size:13px;line-height:1.55}.note-foot{justify-content:space-between;align-items:center;display:flex}.note-foot .mono{color:var(--faint);font-size:10.5px}.note-del{color:var(--faint);opacity:0;border-radius:6px;padding:3px;transition:all .14s}.note-item:hover .note-del{opacity:1}.note-del:hover{color:#ff7a8a;background:#ff7a8a1f}.conn-row.second .conn-via{margin-left:auto;display:flex}.conn-meta strong{align-items:center;display:flex}@media (width<=767px){.sync-text{display:none}.notif-panel{width:calc(100vw - 24px);right:-60px}}.toaster{z-index:1000;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast{font:inherit;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1c202ceb;border:1px solid #ffffff1f;border-radius:10px;padding:10px 16px;font-size:13px;animation:.25s ease-out toastIn;box-shadow:0 8px 28px #0006}.toast-error{border-color:#ff7a8a80}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.app.boot{place-items:center;display:grid}.boot-skeleton{flex-wrap:wrap;justify-content:center;gap:22px;width:min(520px,70vw);display:flex}.skel-node{background:radial-gradient(circle at 40% 35%,#ffffff1f,#ffffff08);border:1px solid #ffffff0f;border-radius:50%;width:46px;height:46px;animation:1.6s ease-in-out infinite skelPulse}@keyframes skelPulse{0%,to{opacity:.25;transform:scale(.96)}50%{opacity:.6;transform:scale(1)}}.boot-error{text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#121620b3;border:1px solid #ffffff14;border-radius:16px;max-width:380px;padding:32px}.boot-error-icon{opacity:.7;margin-bottom:12px}.boot-error h2{margin:0 0 8px;font-size:18px}.boot-error p{opacity:.7;margin:0 0 18px;font-size:14px}.boot-error-details{color:inherit;opacity:.5;cursor:pointer;background:0 0;border:none;margin:14px auto 0;font-size:12px;display:block}.boot-error-pre{opacity:.6;white-space:pre-wrap;word-break:break-all;margin-top:10px;font-size:11px}.profile-admin-row{gap:8px;margin:10px 0;padding:0 18px;display:flex}.btn.ghost.sm.danger{color:#ff7a8a}.profile-edit{flex-direction:column;gap:8px;margin-top:12px;display:flex}.verify-btn{cursor:pointer;border:1px solid var(--line);height:36px;color:var(--dim);background:#ffffff0d;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 13px;font-family:inherit;font-size:13px;font-weight:600;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.verify-btn:hover{color:var(--text);background:#ffffff17;border-color:#ffffff2e}.verify-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:2px}.verify-btn.on{color:color-mix(in srgb,var(--accent) 90%,#fff);background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.verify-btn.on:hover{background:color-mix(in srgb,var(--accent) 20%,transparent);border-color:color-mix(in srgb,var(--accent) 60%,transparent)}@media (prefers-reduced-motion:reduce){.verify-btn{transition:none}}.profile-edit textarea.rf{resize:vertical;min-height:72px}.cat-editor{flex-direction:column;gap:8px;padding:4px 0;display:flex}.cat-row{align-items:center;gap:8px;display:flex}.cat-row input[type=color]{cursor:pointer;background:0 0;border:none;border-radius:6px;width:26px;height:26px;padding:0}.cat-row .cat-name{color:inherit;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;flex:1;padding:5px 8px;font-size:13px}.icon-btn.sm{width:26px;height:26px}.boot-screen,.login-screen{background:radial-gradient(120% 90% at 50% 38%,#112543 0%,#0a1526 42%,var(--bg-0) 100%);color:var(--text);font-family:var(--sans);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.boot-screen{color:var(--dim);font-size:14px}.login-card{border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-direction:column;gap:16px;width:min(92vw,360px);padding:32px 28px;display:flex;box-shadow:0 24px 60px -20px #0009}.login-card h1{letter-spacing:-.01em;margin:0;font-size:20px;font-weight:600}.login-field{flex-direction:column;gap:6px;display:flex}.login-field span{font-size:11px;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.login-field input{border:1px solid var(--line);height:44px;color:var(--text);background:#ffffff0d;border-radius:10px;outline:none;padding:0 13px;font-size:14px;transition:border-color .18s,background .18s}.login-field input:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:2px;border-color:color-mix(in srgb,var(--accent) 60%,transparent);background:#ffffff14}.login-btn{cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;height:44px;font-size:14px;font-weight:600;transition:filter .18s,background .18s,box-shadow .18s,border-color .18s;display:inline-flex}.login-btn:not(.google){background:var(--accent);color:#06101f;box-shadow:0 4px 18px -4px color-mix(in srgb,var(--accent) 70%,transparent)}.login-btn:not(.google):hover{filter:brightness(1.06);box-shadow:0 6px 26px -4px color-mix(in srgb,var(--accent) 85%,transparent)}.login-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;filter:none}.login-btn.google{border-color:var(--line);color:var(--dim);background:#ffffff0d}.login-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:2px}.user-menu{position:relative}.user-menu-trigger{cursor:pointer;border:1px solid var(--line);background:0 0;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:border-color .18s;display:flex}.user-menu-trigger:hover{border-color:var(--accent)}.user-menu-trigger:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:2px}.user-menu-pop{z-index:60;background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;flex-direction:column;gap:4px;min-width:184px;padding:10px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 44px -16px #0009}.user-menu-name{color:var(--text);border-bottom:1px solid var(--line-soft);padding:4px 8px 8px;font-size:13px;font-weight:600}.user-menu-signout{height:38px;color:var(--dim);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:0 8px;font-size:13px;font-weight:500;transition:background .18s,color .18s;display:flex}.user-menu-signout:hover{color:var(--text);background:#ffffff0f}.user-menu-signout:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:-2px}.note-author{align-items:center;gap:6px;display:flex}.note-author-name{color:var(--dim);font-size:11px}.note-foot{gap:8px}.note-foot .note-del{margin-left:auto}@media (prefers-reduced-motion:reduce){.login-btn,.login-field input,.user-menu-trigger,.user-menu-signout{transition:none}}.touch-compose{align-items:center;gap:8px;display:flex}.touch-compose select{border:1px solid var(--line);min-height:38px;color:var(--text);text-transform:capitalize;cursor:pointer;background:#ffffff0d;border-radius:10px;outline:none;flex:1;padding:0 10px;font-family:inherit;font-size:13.5px;transition:border-color .16s}.touch-compose select:hover{border-color:#ffffff2e}.touch-compose select:focus-visible{border-color:color-mix(in srgb, var(--accent) 55%, transparent);outline:2px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:1px}.touch-log{min-height:38px;color:var(--accent);cursor:pointer;background:color-mix(in srgb, var(--accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:8px;align-items:center;gap:6px;padding:0 14px;font-size:12.5px;font-weight:600;transition:all .14s;display:inline-flex}.touch-log:hover{background:color-mix(in srgb, var(--accent) 16%, transparent)}.touch-log:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 60%, transparent);outline-offset:2px}.local-edge.kind-derived{stroke-dasharray:4 4;stroke-opacity:.22!important}.local-edge.kind-intro{stroke-width:2px;stroke-opacity:.7!important}.local-edge.kind-confirmed,.local-edge.kind-manual,.local-edge.kind-ego{stroke-dasharray:none}.conn-row-wrap{align-items:center;gap:6px;display:flex}.conn-row-wrap .conn-row{flex:1;min-width:0}.conn-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.conn-tag{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);border:1px solid var(--line-soft);background:#ffffff0d;border-radius:5px;padding:2px 6px;font-size:9.5px}.conn-ok,.conn-no{cursor:pointer;width:28px;height:28px;color:var(--faint);border:1px solid var(--line);background:#ffffff0a;border-radius:7px;justify-content:center;align-items:center;transition:all .14s;display:inline-flex}.conn-ok:hover{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.conn-no:hover{color:#ff7a8a;background:#ff7a8a1f;border-color:#ff7a8a66}.conn-ok:focus-visible,.conn-no:focus-visible,.intro-status:focus-visible,.intro-note:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 60%, transparent);outline-offset:1px}.intro-list{flex-direction:column;gap:8px;display:flex}.intro-item{border:1px solid var(--line-soft);background:#ffffff09;border-radius:11px;padding:10px 12px}.intro-who{color:var(--text);margin-bottom:7px;font-size:13px;font-weight:600}.intro-foot{align-items:center;gap:8px;display:flex}.intro-status{text-transform:capitalize;border:1px solid var(--line);height:32px;color:var(--text);cursor:pointer;background:#ffffff0d;border-radius:8px;outline:none;padding:0 8px;font-size:12px}.intro-note{border:1px solid var(--line);min-width:0;height:32px;color:var(--text);background:#ffffff0d;border-radius:8px;outline:none;flex:1;padding:0 10px;font-size:12.5px;transition:border-color .16s}.intro-note:focus-visible{border-color:color-mix(in srgb, var(--accent) 55%, transparent)}.intro-note::placeholder{color:var(--faint)}.intro-foot .note-del{opacity:1;flex-shrink:0}@media (prefers-reduced-motion:reduce){.conn-ok,.conn-no,.intro-note{transition:none}}.social-list{flex-wrap:wrap;gap:8px;padding:4px 0;display:flex}.social-chip{border:1px solid var(--line);background:#ffffff0d;border-radius:20px;align-items:center;gap:6px;padding:5px 10px 5px 8px;transition:border-color .16s,background .16s;display:inline-flex}.social-chip-dot{background:var(--faint);border:1px solid #0000;border-radius:50%;flex:none;width:7px;height:7px}.social-chip.status-synced{background:#34d39912;border-color:#34d3994d}.social-chip.status-synced .social-chip-dot{background:#34d399;border-color:#34d39980;box-shadow:0 0 6px #34d39999}.social-chip.status-synced .social-status{color:#7fe6c0}.social-chip.status-syncing{border-color:color-mix(in srgb, var(--accent) 30%, transparent);background:color-mix(in srgb, var(--accent) 7%, transparent)}.social-chip.status-syncing .social-chip-dot{background:var(--accent);animation:1.4s ease-in-out infinite syncpulse}.social-chip.status-syncing .social-status{color:var(--accent)}.social-chip.status-syncing .sync-icon{animation:1s linear infinite spin}.social-chip.status-error{background:#f8717112;border-color:#f8717159}.social-chip.status-error .social-chip-dot{background:#f87171;border-color:#f8717180;border-radius:2px}.social-chip.status-error .social-status{color:#f87171}.social-chip.status-never .social-chip-dot{background:var(--faint)}.social-chip.status-never .social-status{color:var(--faint)}.social-chip .social-status{font-size:11px;font-family:var(--mono);white-space:nowrap}.social-chip .sync-btn{width:36px;height:36px;color:var(--dim);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin:-8px -8px -8px 0;transition:color .14s,background .14s;display:inline-flex}.social-chip .sync-btn:hover{color:var(--text);background:#ffffff1a}.social-chip .sync-btn:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 70%, transparent);outline-offset:2px}.social-chip .sync-btn:disabled{opacity:.3;cursor:default}.social-chip .sync-btn:active:not(:disabled){color:var(--accent)}.sync-icon{display:inline-flex}@media (prefers-reduced-motion:reduce){.social-chip.status-syncing .social-chip-dot,.social-chip.status-syncing .sync-icon{animation:none}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chat-clear{color:var(--faint);border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:#ffffff0a;border-radius:8px;align-items:center;gap:5px;min-height:32px;padding:5px 10px;font-family:inherit;font-size:11.5px;font-weight:600;transition:color .16s,background .16s,border-color .16s;display:inline-flex}.chat-clear:hover{color:var(--text);background:#ffffff17;border-color:#ffffff2e}.chat-clear:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 70%, transparent);outline-offset:2px}.chat-clear:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.chat-clear{transition:none}}@keyframes nodePulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 55%, transparent)}70%{box-shadow:0 0 0 14px color-mix(in srgb, var(--accent) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 0%, transparent)}}.node[data-pulse=on]{z-index:35;animation:1.2s ease-out nodePulse}@media (prefers-reduced-motion:reduce){.node[data-pulse=on]{outline:2px solid color-mix(in srgb, var(--accent) 70%, transparent);outline-offset:3px;animation:none}}.cluster-chip{z-index:20;font:inherit;color:var(--text);cursor:pointer;white-space:nowrap;background:color-mix(in srgb, var(--c) 22%, var(--panel));border:1px solid color-mix(in srgb, var(--c) 50%, transparent);border-radius:999px;min-height:32px;padding:10px 14px;font-size:12px;font-weight:600;position:absolute;transform:translate(-50%,-50%)}.cluster-chip:hover{background:color-mix(in srgb, var(--c) 34%, var(--panel))}.cluster-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.focus-back{z-index:30;font:inherit;color:var(--text);cursor:pointer;background:var(--panel);border:1px solid var(--line);border-radius:10px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;display:flex;position:absolute;top:24px;left:24px}.focus-back:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.conn-list.virtual{scrollbar-width:thin}.conn-row-wrap,.conn-row{box-sizing:border-box;min-height:46px}.show-all{width:100%;font:inherit;color:var(--dim);cursor:pointer;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:10px;margin-top:6px;padding:8px;font-size:12px;font-weight:600}.show-all:hover{color:var(--text)}.show-all:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{z-index:2000;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:8px 14px;transition:top .15s;position:absolute;top:-48px;left:8px}.skip-link:focus{top:8px}@media (prefers-reduced-motion:reduce){.skip-link{transition:none}}.people-list{-webkit-overflow-scrolling:touch;padding:16px 14px 90px;position:absolute;inset:0;overflow-y:auto}.people-group{margin-bottom:22px}.people-group-label{color:var(--dim);align-items:center;gap:8px;margin:0 4px 10px;font-size:13px;font-weight:600;display:flex}.people-group-label .count{color:var(--faint);margin-left:auto}.people-row{text-align:left;cursor:pointer;background:var(--panel);border:1px solid var(--line-soft);border-radius:12px;align-items:center;gap:12px;width:100%;margin-bottom:6px;padding:10px 12px;display:flex}.people-row:active{background:var(--panel-2)}.people-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.people-meta{flex-direction:column;flex:1;min-width:0;display:flex}.people-meta strong{font-size:14px}.people-meta span{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.map-toggle{z-index:60;font:inherit;color:#fff;cursor:pointer;background:var(--accent);border:none;border-radius:999px;padding:11px 22px;font-size:14px;font-weight:600;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0006}.map-toggle:focus-visible{outline-offset:2px;outline:2px solid #fff}@media (width<=767px){.view-toggle{inset:72px 12px auto auto;transform:none}.legend{transform-origin:0 0;max-width:46vw;top:72px;bottom:auto;left:12px;transform:scale(.9)}}[data-bp=mobile] .topbar{align-items:center;gap:8px;padding:0 10px;display:flex;position:relative}[data-bp=mobile] .topbar .logo{flex:1;justify-content:center}.topbar-menu-btn,.topbar-search-btn{flex-shrink:0}.topbar-search-expanded{z-index:200;background:var(--bg-1);border-bottom:1px solid var(--line);padding:8px 12px;position:absolute;top:100%;left:0;right:0}.topbar-mobile-menu{z-index:200;background:var(--bg-1);border:1px solid var(--line);border-radius:0 0 12px 12px;flex-direction:column;align-items:stretch;gap:2px;min-width:212px;padding:8px;display:flex;position:absolute;top:100%;left:10px;right:auto}.topbar-mobile-menu .menu-row{cursor:pointer;width:100%;font:inherit;color:var(--text);text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:11px;padding:10px 11px;font-size:14px;display:flex}.topbar-mobile-menu .menu-row:hover,.topbar-mobile-menu .menu-row.on{background:var(--panel-2)}.topbar-mobile-menu .menu-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topbar-mobile-menu .menu-row-count{background:var(--accent);color:#06101f;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:600;line-height:1.5}@media (width<=767px){.dock{z-index:65;border-radius:0;width:100%;height:100%;transition:transform .22s;position:fixed;inset:0;transform:translateY(100%)}.dock.open{transform:translateY(0)}.dock .panel{width:100%;height:100%;max-height:none}.twk-panel{transform-origin:unset;border-radius:0;position:fixed;inset:0;transform:none;width:100%!important;height:100%!important;max-height:none!important;bottom:0!important;right:0!important}}@media (width<=767px) and (prefers-reduced-motion:reduce){.dock{transition:none}}.search-results .search-result.active,.search-results .search-result:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (width>=768px) and (width<=1023px){.dock{width:340px}.view-toggle{left:calc(50% - 170px)}.legend{transform-origin:0 100%;transform:scale(.9)}.topbar{gap:12px}.searchbar-wrap .searchbar{width:280px}}@media (width>=1440px){.dock{width:440px}.canvas-wrap{padding:0}}
