:root{--blue:#0b5cab;--blue-dark:#094a8a;--orange:#f5811f;--navy-node:#1c2560;--navy-edge:#37427a;--navy-bg:#10143a;--navy-deep:#090b26;--abyss:#04050f;--focus:#ff8a00;--gold:#f2c14e;--silver:#cbd5e1;--platinum:#e6ecfb;--steel:#8493ad;--emerald:#2fd6a8;--hero:#a878ff;--bg:#eef2f7;--surface:#fff;--surface-2:#f4f7fb;--border:#dbe2ec;--text:#16232f;--muted:#64717f;--danger:#d64550;--shadow:0 10px 30px #1428461f;--shadow-sm:0 3px 10px #1428461a;--radius:14px;--topbar-h:62px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0;overflow:hidden}button{cursor:pointer;font-family:inherit}h1,h2,h3{margin:0}.muted{color:var(--muted)}.small{font-size:12px}.app{height:100%;position:relative}.topbar{z-index:30;background:linear-gradient(160deg,#181e3ce6,#0c0f24e0);border:1px solid #ffffff29;border-radius:18px;justify-content:space-between;align-items:center;height:54px;padding:0 16px 0 18px;display:flex;position:absolute;top:12px;left:12px;right:12px;box-shadow:0 14px 40px #00000073,inset 0 1px #ffffff38}.brand{color:#fff;background:0 0;border:none;align-items:center;gap:12px;display:flex}.brand-logo{width:auto;height:30px;display:block}.brand-logo-fallback{letter-spacing:.4px;white-space:nowrap;color:#fff;font-family:Montserrat,Arial Black,system-ui,sans-serif;font-size:20px;font-weight:800}.brand-logo-fallback .accent-i{color:var(--focus)}.brand-divider{background:#ffffff40;width:1px;height:22px}.brand-sub{letter-spacing:.6px;text-transform:uppercase;color:#ffffffb3;font-size:12px;font-weight:700}.topbar-actions{align-items:center;gap:8px;display:flex}.topbar-user{color:#fff9;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:12.5px;font-weight:600;overflow:hidden}.login-screen{background:radial-gradient(1200px 800px at 50% 0,#0a1024,#04050f 60%,#000);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.login-card{color:#e7eefb;background:linear-gradient(160deg,#1a2040f5,#0c0f24f5);border:1px solid #ffffff24;border-radius:18px;flex-direction:column;gap:12px;width:min(380px,100%);padding:30px 28px;display:flex;box-shadow:0 26px 70px #0009,inset 0 1px #ffffff24}.login-brand{justify-content:center;margin-bottom:4px;display:flex}.login-brand .brand-logo{height:34px}.login-title{color:#fff;text-align:center;font-size:20px;font-weight:800}.login-sub{color:#fff9;text-align:center;margin:-6px 0 8px;font-size:13px}.login-field{color:#ffffffb3;flex-direction:column;gap:5px;font-size:12.5px;display:flex}.login-field input{color:#eef3fb;background:#00000059;border:1px solid #ffffff29;border-radius:10px;outline:none;padding:10px 12px;font-size:14px}.login-field input:focus{border-color:color-mix(in srgb, var(--focus) 60%, transparent)}.login-submit{justify-content:center;margin-top:6px;padding:11px;font-size:15px}.login-error{color:#ffc9ce;background:#d6455026;border:1px solid #d6455073;border-radius:9px;padding:8px 11px;font-size:12.5px}.login-toggle{color:#fff9;text-align:center;margin-top:4px;font-size:12.5px}.login-toggle button{color:var(--focus);cursor:pointer;background:0 0;border:none;padding:0;font-size:12.5px;font-weight:700}.save-status{color:#fff9;white-space:nowrap;font-size:12px;font-weight:600}.save-status.save-saving{color:#ffffffbf}.save-status.save-saved{color:#64e39d}.save-status.save-conflict{color:#ffd489}.save-status.save-error{color:#ff9aa2}.boot-screen{color:#cdd6ea;background:radial-gradient(1200px 800px at 50% 0,#0a1024,#04050f 60%,#000);place-items:center;display:grid;position:fixed;inset:0}.boot-inner{flex-direction:column;align-items:center;gap:14px;font-size:14px;display:flex}.boot-spinner{border:3px solid #ffffff26;border-top-color:var(--focus);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.admin{padding:calc(var(--topbar-h) + 26px) 20px 60px;color:#e7eefb;background:radial-gradient(1400px 900px at 50% 0,#0a1024 0%,#05070f 55%,#000 100%);position:absolute;inset:0;overflow-y:auto}.admin-inner{flex-direction:column;gap:20px;max-width:1100px;margin:0 auto;display:flex}.admin-head h1{color:#fff;font-size:24px;font-weight:800}.admin-head p{margin:4px 0 0}.admin .muted{color:#ffffff8c}.admin code{color:#d7e2f5;background:#ffffff14;border:1px solid #ffffff1f;border-radius:5px;padding:1px 5px;font-size:.86em}.admin-card{background:linear-gradient(160deg,#181e3cb8,#0c0f24b8);border:1px solid #ffffff1f;border-radius:16px;padding:20px 22px;box-shadow:0 10px 30px #0006}.admin-card h2{color:#fff;margin-bottom:10px;font-size:16px;font-weight:800}.admin-import-actions{gap:8px;margin:12px 0 10px;display:flex}.file-btn{cursor:pointer;position:relative}.admin-textarea{resize:vertical;color:#e7eefb;background:#00000059;border:1px solid #ffffff26;border-radius:10px;width:100%;min-height:90px;padding:10px 12px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;line-height:1.5}.admin-textarea:focus{border-color:color-mix(in srgb, var(--focus) 60%, transparent);outline:none}.admin-alert{border-radius:10px;margin-top:12px;padding:10px 12px;font-size:13px}.admin-alert.error{color:#ffc9ce;background:#d6455026;border:1px solid #d6455080}.admin-alert.ok{background:color-mix(in srgb, var(--focus) 14%, transparent);border:1px solid color-mix(in srgb, var(--focus) 45%, transparent);color:#ffe0bd}.admin-preview{flex-direction:column;gap:10px;margin-top:14px;display:flex}.admin-preview-stats{flex-wrap:wrap;gap:14px;font-size:13px;display:flex}.admin-preview-stats .warn{color:#ffd489}.admin-preview-table,.admin-table{border-collapse:collapse;width:100%;font-size:12.5px}.admin-preview-table th,.admin-preview-table td,.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #ffffff14;padding:7px 10px}.admin-preview-table th,.admin-table th{color:#ffffff80;text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:700}.admin-preview-table td{color:#ffffffd1}.admin-table-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.node.person.conn{border-color:var(--focus);box-shadow:0 0 0 2px var(--focus), 0 0 28px color-mix(in srgb, var(--focus) 55%, transparent);z-index:7}.node.person.conn .avatar{box-shadow:0 0 0 4px var(--focus), 0 0 18px color-mix(in srgb, var(--focus) 55%, transparent)}.node.center-hub.sub.conn{border-color:var(--focus);box-shadow:0 0 0 2px var(--focus), 0 12px 30px #00000080, 0 0 40px color-mix(in srgb, var(--focus) 45%, transparent)}.node.person .branch-mark{color:#fff;background:color-mix(in srgb, var(--accent,#56a) 72%, #10142e);border:1.5px solid color-mix(in srgb, var(--accent,#56a) 92%, #fff);border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;line-height:1;display:grid;position:absolute;top:-11px;left:-11px;box-shadow:0 2px 8px #00000080}.node.person.branch{border-color:color-mix(in srgb, var(--accent,#56a) 55%, #fff3)}.node-config{flex-direction:column;gap:8px;margin-top:10px;display:flex}.node-row{background:#00000047;border:1px solid #ffffff1a;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;display:flex}.node-dot{border-radius:50%;flex:none;width:12px;height:12px;box-shadow:0 0 8px #00000080}.node-name{color:#eaf0fa;background:#0000004d;border:1px solid #ffffff24;border-radius:8px;flex:160px;min-width:140px;padding:7px 10px;font-weight:700}.node-field{flex-direction:column;gap:3px;display:flex}.node-field select{color:#e7eefb;background:#00000059;border:1px solid #ffffff26;border-radius:8px;min-width:150px;padding:6px 9px}.node-field select:disabled{opacity:.45}.admin select option{color:#e7eefb;background:#141a2c}.node-uc{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:flex}.node-uc input{accent-color:#f5b301}.admin-table-controls{align-items:center;gap:8px;display:flex}.admin-search,.admin .admin-table-controls select{color:#e7eefb;background:#00000059;border:1px solid #ffffff26;border-radius:9px;padding:8px 10px;font-size:13px}.admin-table-scroll{border-radius:10px;max-height:60vh;overflow-y:auto}.admin-table td{color:#ffffffd1;vertical-align:middle}.admin-table tr:hover td{background:#ffffff0a}.admin-name{font-weight:700;color:#fff!important}.admin-role{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.admin-row-actions{justify-content:flex-end;gap:6px;display:flex}.admin-empty{text-align:center;padding:22px}.btn.danger.small{padding:6px 10px}.btn{background:var(--blue);color:#fff;box-shadow:var(--shadow-sm);border:none;border-radius:9px;justify-content:center;align-items:center;padding:9px 15px;font-size:14px;font-weight:600;text-decoration:none;transition:filter .15s,transform .1s;display:inline-flex}a.brand{text-decoration:none}.btn:hover{filter:brightness(1.08)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.small{padding:7px 12px;font-size:13px}.btn.ghost{background:var(--surface);border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow-sm)}.btn.ghost:hover{background:var(--surface-2);filter:none}.btn.danger{color:var(--danger);background:var(--surface);box-shadow:none;border:1px solid #d6455066}.btn.danger:hover{background:#d6455014}.map-wrap{position:absolute;inset:0}.canvas{cursor:grab;touch-action:none;background:radial-gradient(1500px 1000px at 50% 4%,#050a18 0%,#01030a 38%,#000 72%);position:absolute;inset:0;overflow:hidden}.canvas.panning{cursor:grabbing}.canvas-inner{z-index:1;position:absolute;top:0;left:0}.node-container{z-index:1;pointer-events:none;background:linear-gradient(160deg, color-mix(in srgb, var(--accent,#56a) 16%, #0e122a85), #090c1e66);border:1px solid color-mix(in srgb, var(--accent,#56a) 32%, #ffffff1a);border-radius:30px;position:absolute;transform:translate(-50%,-50%);box-shadow:inset 0 1px #ffffff0f,0 14px 40px #00000052}.node-container.empty{background:linear-gradient(160deg, color-mix(in srgb, var(--accent,#56a) 10%, #0e122a66), #090c1e4d);border-style:dashed;justify-content:center;align-items:center;display:flex;overflow:hidden}.tumbleweed{opacity:0;pointer-events:none;background:conic-gradient(#c4a460a6,#0000 25%,#c4a460a6 50%,#0000 75%,#c4a460a6),radial-gradient(circle,#0000 38%,#96783c59 62%);border:2px solid #be9e5cd9;border-radius:50%;width:26px;height:26px;animation:5.5s linear infinite tumble;position:absolute;bottom:12px;left:-32px;box-shadow:inset 0 0 7px #785c2ab3}.tumbleweed:before,.tumbleweed:after{content:"";border:1px solid #cdac6480;border-radius:50%;position:absolute;inset:3px}.tumbleweed:after{transform:rotate(45deg)}@keyframes tumble{0%{opacity:0;transform:translate(0)rotate(0)}9%{opacity:.9}50%{transform:translate(calc(var(--cw,260px) / 2), -7px) rotate(540deg)}91%{opacity:.9}to{transform:translate(calc(var(--cw,260px) + 44px), 0) rotate(1080deg);opacity:0}}.node-empty-msg{text-align:center;color:color-mix(in srgb, var(--accent,#56a) 30%, #ffffffd1);padding:0 16px;font-size:15px;font-style:italic;font-weight:600}.canvas-inner.live{will-change:transform}.canvas-inner.animate{transition:transform 1s cubic-bezier(.65,0,.35,1)}.edges{pointer-events:none;position:absolute;top:0;left:0}.nebula{z-index:0;pointer-events:none;background:radial-gradient(42% 50% at var(--b1x,28%) var(--b1y,26%), #1f5fd847, transparent 70%), radial-gradient(46% 52% at var(--b2x,74%) var(--b2y,66%), #123f9e42, transparent 72%), radial-gradient(38% 44% at var(--b3x,52%) var(--b3y,50%), #2a7fe029, transparent 68%), radial-gradient(48% 50% at var(--b4x,86%) var(--b4y,20%), #0f337f3d, transparent 72%), radial-gradient(44% 48% at var(--b5x,14%) var(--b5y,84%), #0a2a7242, transparent 72%);position:absolute;inset:0}.bg-particles{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.bg-particles span{opacity:0;background:radial-gradient(circle,#ffffffe6,#96beff4d 60%,#0000 72%);border-radius:50%;animation-name:floatUp;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;bottom:-12px}@keyframes floatUp{0%{opacity:0;transform:translate(0,0)}12%{opacity:.7}85%{opacity:.6}to{transform:translate3d(var(--drift,0), -102vh, 0);opacity:0}}.map-toolbar{z-index:15;position:absolute;top:16px;left:16px}.map-hint{background:var(--surface);border:1px solid var(--border);color:var(--muted);box-shadow:var(--shadow-sm);border-radius:20px;padding:7px 14px;font-size:12.5px}.zoom-controls{z-index:15;flex-direction:column;gap:6px;display:flex;position:absolute;bottom:16px;right:16px}.zoom-controls button{color:#eaf0fa;background:#181e3cdb;border:1px solid #ffffff29;border-radius:10px;width:38px;height:38px;font-size:18px;font-weight:700;box-shadow:0 8px 22px #0006,inset 0 1px #fff3}.zoom-controls button:hover{background:#242c52eb}.dept-banner{top:calc(var(--topbar-h) + 14px);z-index:16;background:linear-gradient(160deg,#181e3ce6,#0c0f24e0);border:1px solid #ffffff29;border-radius:14px;align-items:center;gap:12px;max-width:420px;padding:8px 14px 8px 10px;display:flex;position:absolute;left:16px;box-shadow:0 14px 34px #00000073,inset 0 1px #ffffff38}.dept-banner .back-btn{white-space:nowrap;height:34px;padding:0 12px;font-size:13px}.dept-banner h2{color:#fff;font-size:17px}.dept-banner .muted{color:#ffffffa8}.dept-banner .add-btn{margin-left:8px}.dept-dot{background:var(--accent);border-radius:50%;width:12px;height:12px}.dept-dot.big{width:16px;height:16px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 22%, transparent)}.legend{z-index:15;color:#eaf0fa;background:linear-gradient(160deg,#181e3ce6,#0c0f24e0);border:1px solid #ffffff29;border-radius:12px;min-width:150px;padding:12px 14px;position:absolute;bottom:16px;left:16px;box-shadow:0 14px 34px #00000073,inset 0 1px #ffffff38}.legend-title{text-transform:uppercase;letter-spacing:.6px;color:#fff9;margin-bottom:8px;font-size:11px;font-weight:700}.legend-row{align-items:center;gap:8px;padding:3px 0;font-size:14px;display:flex}.ring-num{color:#ffffffd9;background:#ffffff1f;border:1px solid #fff3;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:grid}.dept-nav{left:16px;top:calc(var(--topbar-h) + 10px);z-index:16;width:250px;max-height:calc(100vh - var(--topbar-h) - 170px);color:#eaf0fa;-webkit-backdrop-filter:none;background:linear-gradient(160deg,#181e3ceb,#0c0f24e6);border:1px solid #ffffff29;border-radius:14px;flex-direction:column;padding:10px;display:flex;position:absolute;box-shadow:0 14px 34px #00000080,inset 0 1px #fff3}.dept-nav.collapsed{width:auto}.dept-nav:before{display:none}.dept-nav-head{width:100%;color:inherit;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:4px 4px 6px;display:flex}.dept-nav.collapsed .dept-nav-head{padding-bottom:4px}.dept-nav-caret{color:#fff9;font-size:12px}.dept-nav-list{flex-direction:column;display:flex;overflow-y:auto}.dept-nav-all{text-align:center;letter-spacing:.2px;color:#3a2a06;cursor:pointer;background:linear-gradient(160deg,#f8e08a,#d9a441);border:1px solid #b8801f;border-radius:9px;width:100%;margin:0 0 8px;padding:8px 10px;font-size:13px;font-weight:800;box-shadow:inset 0 1px #ffffff80}.dept-nav-all:hover{background:linear-gradient(160deg,#ffe89a,#e6b24f)}.dept-nav-title{text-transform:uppercase;letter-spacing:.5px;color:#fff9;font-size:12px;font-weight:800}.dept-nav-row{text-align:left;color:#eaf0fa;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;width:100%;padding:7px;font-size:14px;font-weight:600;display:flex}.dept-nav-row:hover{background:#ffffff1a}.dept-nav-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;box-shadow:0 0 6px}.dept-nav-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.dept-nav-count{color:#ffffff80;font-size:12.5px;font-weight:700}.node{z-index:2;transition:opacity .22s,transform .16s;position:absolute;transform:translate(-50%,-50%)}.node.dim{opacity:.16;filter:saturate(.55)}.hub{background:linear-gradient(165deg, color-mix(in srgb, var(--accent,#56a) 26%, #141a36eb), #0c1026f0);border:2px solid color-mix(in srgb, var(--accent,#56a) 58%, #ffffff42);width:224px;min-height:88px;box-shadow:0 10px 24px #00000080, 0 0 26px color-mix(in srgb, var(--accent,#56a) 20%, transparent), inset 0 1px 0 #ffffff47;color:#eef3fb;text-align:center;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:15px 22px;display:flex}.hub:hover,.hub.focus{z-index:8;border-color:color-mix(in srgb, var(--accent,#56a) 92%, #fff);box-shadow:0 16px 38px #0000008c, 0 0 50px color-mix(in srgb, var(--accent,#56a) 40%, transparent), inset 0 1px 0 #ffffff59;transform:translate(-50%,-50%)scale(1.06)}.hub.open{border-color:color-mix(in srgb, var(--accent,#56a) 95%, #fff);box-shadow:0 14px 34px #0000008c, 0 0 54px color-mix(in srgb, var(--accent,#56a) 46%, transparent)}.hub-name{color:#fff;text-shadow:0 1px 3px #00000080;font-size:20px;font-weight:800;line-height:1.15}.hub-count{color:color-mix(in srgb, var(--accent,#56a) 48%, white);font-size:13px;font-weight:700}.hub:after{content:"";border:2px solid color-mix(in srgb, var(--accent,#56a) 75%, transparent);opacity:0;pointer-events:none;border-radius:20px;position:absolute;inset:-3px}.hub:hover:after,.hub.focus:after{animation:1.3s ease-out infinite pulseRing}@keyframes pulseRing{0%{opacity:.7;transform:scale(1)}70%{opacity:0}to{opacity:0;transform:scale(1.5)}}.node.center-node{z-index:5;cursor:default;background:linear-gradient(160deg,#26305ad1,#10142ecc);border:1px solid #ffffff4d;border-radius:50%;place-items:center;width:158px;height:158px;padding:26px;display:grid;box-shadow:0 10px 26px #00000080,inset 0 1px #fff6}.node.center-node:after{content:"";border:2px solid color-mix(in srgb, var(--focus) 65%, transparent);opacity:0;pointer-events:none;border-radius:50%;position:absolute;inset:-3px}.node.center-node:hover:after,.node.center-node.focus:after{animation:1.4s ease-out infinite pulseRing}.node.center-node.company{cursor:default;border:2px solid color-mix(in srgb, var(--gold) 46%, #ffffff59);background:linear-gradient(165deg,#303c6cf0,#0c1028f5);border-radius:24px;flex-direction:column;align-items:center;gap:16px;width:auto;min-width:300px;height:auto;padding:20px 30px 24px;display:flex;box-shadow:0 20px 54px #0009,0 0 70px #f2c14e29,inset 0 1px #fff6}.node.center-node.company:after{border-radius:24px;inset:-4px}.company-title{letter-spacing:.02em;color:#f6efe0;text-shadow:0 1px 4px #00000080;font-size:22px;font-weight:800}.company-leaders{gap:18px;display:flex}.company-leader{cursor:pointer;border:1.5px solid color-mix(in srgb, var(--gold) 55%, transparent);background:linear-gradient(165deg,#40371a8c,#18140b99);border-radius:20px;flex-direction:column;align-items:center;gap:8px;width:152px;padding:15px 12px 14px;transition:transform .12s,border-color .12s,box-shadow .12s;display:flex;box-shadow:0 6px 18px #00000073,0 0 22px #f2c14e1a}.company-leader:hover{border-color:color-mix(in srgb, var(--gold) 92%, #fff);transform:translateY(-2px);box-shadow:0 10px 26px #00000080,0 0 30px #f2c14e4d}.company-leader .avatar{box-shadow:0 0 0 3px #f2c14e8c,0 0 16px #f2c14e4d}.cl-name{color:#f8f1e2;letter-spacing:.01em;font-size:17px;font-weight:750}.cl-role{color:color-mix(in srgb, var(--gold) 72%, #fff);text-align:center;font-size:13px;font-weight:600;line-height:1.25}.node.center-hub.sub.under-construction,.node.hub.under-construction{background:repeating-linear-gradient(45deg,#f5b30114 0 10px,#f5b30105 10px 20px) padding-box padding-box,linear-gradient(165deg,#28281ee6,#12120eeb) padding-box padding-box;border-style:dashed;border-color:#f6bc1eca;box-shadow:0 8px 22px #00000080,0 0 20px #f5b3012e}.node.center-hub.sub.under-construction .hub-count,.node.hub.under-construction .hub-count{color:#f5cf6b;font-weight:700}.hub-toggle{color:color-mix(in srgb, var(--accent,#56a) 55%, #fff);opacity:.75;pointer-events:none;font-size:13px;line-height:1;position:absolute;top:8px;right:12px}.hub.open .hub-toggle{color:#fff;opacity:.95}.node.center-node.focus{z-index:9;border-color:color-mix(in srgb, var(--focus) 55%, #ffffff4d);box-shadow:0 20px 54px #0000008c, 0 0 60px color-mix(in srgb, var(--focus) 34%, transparent), inset 0 1px 0 #ffffff80;transform:translate(-50%,-50%)scale(1.05)}.center-node .brand-logo{filter:drop-shadow(0 2px 6px #0000008c);width:100%;max-width:210px;height:auto;margin:2px 0}.center-node .brand-logo-fallback{color:#fff;text-align:center;white-space:normal;font-size:16px;line-height:1.15}.company-ceo{background:color-mix(in srgb, var(--focus) 12%, #ffffff0d);border:1px solid color-mix(in srgb, var(--focus) 34%, #ffffff1f);border-radius:12px;align-items:center;gap:11px;margin-bottom:10px;padding:10px;display:flex}.company-heads .dept-leader{align-items:center}.company-head-skill{flex-shrink:0;margin-left:auto}.node-crown.mini-crown{width:16px;height:16px;font-size:9px;top:-4px;right:-4px}.center-hub{color:#fff;background:linear-gradient(165deg, color-mix(in srgb, var(--accent) 28%, #161c3aeb), #0d1128f0);border:2px solid color-mix(in srgb, var(--accent) 72%, #ffffff4d);width:236px;min-height:92px;box-shadow:0 12px 28px #0000008c, 0 0 30px color-mix(in srgb, var(--accent) 26%, transparent), inset 0 1px 0 #fff6;text-align:center;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:15px 22px;display:flex}.center-hub .hub-name{text-shadow:0 1px 4px #00000080;font-size:20px}.center-hub .hub-count{color:#ffffffeb;font-size:13px}.center-hub.sub{cursor:pointer;border-color:color-mix(in srgb, var(--accent) 66%, #ffffff4d);width:194px;min-height:78px;box-shadow:0 9px 22px #00000080, 0 0 22px color-mix(in srgb, var(--accent) 24%, transparent), inset 0 1px 0 #ffffff5c;padding:12px 18px}.center-hub.sub .hub-name{font-size:17px}.center-hub.sub .hub-count{font-size:11.5px}.center-hub.sub:hover{z-index:8;border-color:color-mix(in srgb, var(--accent) 95%, #fff);transform:translate(-50%,-50%)scale(1.05)}.node.person{color:#eaf0fa;background:linear-gradient(165deg,#242e56cc,#0f132cc7);border:1px solid #fff3;border-radius:20px;flex-direction:column;align-items:center;gap:8px;width:158px;padding:16px 13px;display:flex;box-shadow:0 7px 16px #00000073,inset 0 1px #fff6}.node.person:before{content:"";height:3px;box-shadow:none;background:#fff6;border-radius:0 0 4px 4px;transition:background .16s,box-shadow .16s;position:absolute;top:0;left:20px;right:20px}.node.person:hover,.node.person.focus{z-index:8;transform:translate(-50%,-50%)scale(1.07)}.node.person:hover:before,.node.person.focus:before{background:var(--focus);box-shadow:0 0 14px var(--focus)}.node.person:after{content:"";pointer-events:none;border:2px solid color-mix(in srgb, var(--focus) 75%, transparent);opacity:0;border-radius:22px;position:absolute;inset:-3px}.node.person:hover:after,.node.person.focus:after{animation:1.2s ease-out infinite pulseRing}.node.person .avatar{box-shadow:0 0 0 3px var(--tier-ring,#ffffff4d);border-color:var(--tier-edge,#ffffff80);transition:box-shadow .16s}.node.person:hover .avatar,.node.person.focus .avatar{box-shadow:0 0 0 4px var(--focus), 0 0 18px color-mix(in srgb, var(--focus) 55%, transparent)}.person-label{text-align:center;color:#fff;text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-size:15px;font-weight:700;line-height:1.15;overflow:hidden}.person-sub{color:#c2cfe6;text-align:center;max-width:130px;font-size:12px;line-height:1.2}.person-title{color:#b7c3da;text-align:center;letter-spacing:.01em;text-shadow:0 1px 2px #00000080;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-width:138px;margin-top:1px;font-size:11px;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.node.person.lead .person-title{color:color-mix(in srgb, var(--gold) 55%, #fff);font-weight:700}.node.person.mini{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;gap:6px;width:auto;padding:0}.node.person.mini:before{display:none}.node.person.mini .avatar{border-color:#ffffff8c;box-shadow:0 0 0 3px #ffffff52,0 6px 16px #0000008c}.node.person.mini:hover .avatar,.node.person.mini.focus .avatar{box-shadow:0 0 0 4px var(--focus), 0 0 18px color-mix(in srgb, var(--focus) 55%, transparent)}.node.person.mini .person-label{color:#eef3fb;text-shadow:0 1px 2px #00000080;background:linear-gradient(160deg,#1c2448d1,#0e122acc);border:1px solid #fff3;border-radius:20px;max-width:none;padding:3px 11px;font-size:12.5px;font-weight:600;box-shadow:inset 0 1px #ffffff4d}.node.person.mini:hover{z-index:8;transform:translate(-50%,-50%)scale(1.12)}.node.person.gold:not(.mini),.node.person.silver:not(.mini),.node.person.bronze:not(.mini){background:linear-gradient(165deg, #1c244af0, #0b0f26f7) padding-box, var(--tier) border-box;border:3px solid #0000}.node.person.gold:not(.mini){--tier:linear-gradient(150deg, #ffeab0 0%, #e8c563 40%, #a2802f 100%);--tier-ring:#e8c563;--tier-edge:#ffeab0;box-shadow:0 8px 22px #00000080,0 0 22px #e8c5634d}.node.person.silver:not(.mini){--tier:linear-gradient(150deg, #f5f9ff 0%, #c4cfdc 45%, #838d9f 100%);--tier-ring:#c4cfdc;--tier-edge:#f5f9ff;box-shadow:0 8px 20px #00000080,0 0 20px #c4cfdc42}.node.person.bronze:not(.mini){--tier:linear-gradient(150deg, #f6cca2 0%, #c9814a 45%, #85492593 100%);--tier-ring:#c9814a;--tier-edge:#f6cca2;box-shadow:0 8px 20px #00000080,0 0 18px #c9814a3d}.lead-shimmer{z-index:1;border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.lead-shimmer:before{content:"";will-change:transform;background:linear-gradient(100deg,#0000,#fff6d68c,#0000);width:45%;height:220%;animation:3.8s ease-in-out infinite shimmerSweep;position:absolute;top:-60%;left:0;transform:translate(-160%)rotate(4deg)}@keyframes shimmerSweep{0%{transform:translate(-160%)rotate(4deg)}55%,to{transform:translate(420%)rotate(4deg)}}@media (prefers-reduced-motion:reduce){.lead-shimmer:before{opacity:0;animation:none}}.node-badge{z-index:4;border-radius:50%;place-items:center;width:27px;height:27px;font-size:15px;line-height:1;display:grid;position:absolute;top:-9px;right:-9px;box-shadow:0 2px 9px #0000008c,inset 0 1px #ffffff80}.node-badge.crown,.node-badge.hero{width:33px;height:33px;box-shadow:none;background:0 0;top:-13px;left:auto;right:-13px}.node-badge .badge-svg{width:100%;height:100%;display:block}.card-trace{z-index:2;pointer-events:none;position:absolute;inset:0}.card-trace i{opacity:0;background:radial-gradient(circle, #fff 0%, #fff 30%, var(--gold) 70%, transparent 100%);width:4px;height:4px;box-shadow:0 0 6px color-mix(in srgb, var(--gold) 80%, #fff);will-change:transform, opacity;border-radius:50%;animation:3.2s ease-out infinite radiate;position:absolute;top:50%;left:50%}.card-trace i:first-child{--tx:46px;--ty:-14px;animation-duration:3s;animation-delay:0s}.card-trace i:nth-child(2){--tx:-40px;--ty:-22px;animation-duration:3.4s;animation-delay:-.9s}.card-trace i:nth-child(3){--tx:30px;--ty:34px;animation-duration:2.8s;animation-delay:-1.8s}.card-trace i:nth-child(4){--tx:-34px;--ty:30px;animation-duration:3.6s;animation-delay:-2.4s}.card-trace i:nth-child(5){--tx:10px;--ty:-40px;animation-duration:3.1s;animation-delay:-1.3s}.card-trace i:nth-child(6){--tx:-14px;--ty:42px;animation-duration:3.3s;animation-delay:-.5s}.card-trace i:nth-child(7){--tx:52px;--ty:16px;animation-duration:2.9s;animation-delay:-2s}@keyframes radiate{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}25%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) scale(1)}}@media (prefers-reduced-motion:reduce){.card-trace{display:none}}.node-crown{z-index:3;color:#3a2a06;background:radial-gradient(circle at 40% 30%, #ffe08a, var(--gold));border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;display:grid;position:absolute;top:-6px;right:-6px;box-shadow:0 2px 8px #00000080,inset 0 1px #fff9}.node.person.mini .node-crown{top:0;right:0}.node.person.ring-focus,.node.person.ring-dim{transition:transform .18s,opacity .18s,filter .18s}.node.person.ring-focus{z-index:9;filter:brightness(1.12);transform:translate(-50%,-50%)scale(1.08)}.node.person.ring-focus:hover,.node.person.ring-focus.focus{transform:translate(-50%,-50%)scale(1.14)}.node.person.ring-dim{opacity:.3;filter:blur(2.5px)saturate(.7)}.ring-arc-label{letter-spacing:3px;text-transform:uppercase;opacity:.92;paint-order:stroke;stroke:#060a1ac7;stroke-width:6px;stroke-linejoin:round;font-size:52px;font-weight:800}.ring-aura{pointer-events:none}.ring-aura.gold{stroke:var(--gold);stroke-width:10px;filter:drop-shadow(0 0 7px var(--gold));animation:3s ease-in-out infinite auraShimmer}.ring-aura.silver{stroke:var(--silver);stroke-width:9px;filter:drop-shadow(0 0 7px var(--silver));animation:3.6s ease-in-out infinite auraShimmer}.ring-aura.steel{stroke:var(--steel);stroke-width:9px;filter:drop-shadow(0 0 6px var(--steel));animation:2.4s ease-in-out infinite auraPulse}@keyframes auraShimmer{0%,to{opacity:.16}50%{opacity:.62}}@keyframes auraPulse{0%,to{opacity:.2;stroke-width:7px}50%{opacity:.62;stroke-width:15px}}@media (prefers-reduced-motion:reduce){.ring-aura{opacity:.4;animation:none!important}}.node-star{z-index:3;color:#40210a;background:radial-gradient(circle at 40% 30%, #ffd489, var(--focus));width:20px;height:20px;box-shadow:0 2px 8px #00000080, 0 0 10px color-mix(in srgb, var(--focus) 45%, transparent), inset 0 1px 0 #fff9;border-radius:50%;place-items:center;font-size:11px;display:grid;position:absolute;top:-6px;left:-6px}.node.person.mini .node-star{top:0;left:0}.node-star.mini-star{width:15px;height:15px;font-size:9px;top:-4px;left:-4px}.hero-sparkles{z-index:2;pointer-events:none;position:absolute;inset:-11px}.hero-sparkles i{color:var(--gold);opacity:0;text-shadow:0 0 5px #fff, 0 0 11px color-mix(in srgb, var(--gold) 75%, transparent);will-change:transform, opacity;font-style:normal;line-height:1;animation:2.6s ease-in-out infinite heroTwinkle;position:absolute}.hero-sparkles i:first-of-type{font-size:16px;animation-duration:2.6s;animation-delay:0s;top:2%;left:20%}.hero-sparkles i:nth-of-type(2){font-size:12px;animation-duration:3s;animation-delay:.5s;top:-6%;left:72%}.hero-sparkles i:nth-of-type(3){font-size:14px;animation-duration:2.4s;animation-delay:1.1s;top:34%;left:0%}.hero-sparkles i:nth-of-type(4){font-size:15px;animation-duration:2.9s;animation-delay:.3s;top:25%;left:94%}.hero-sparkles i:nth-of-type(5){font-size:11px;animation-duration:3.2s;animation-delay:1.6s;top:62%;left:10%}.hero-sparkles i:nth-of-type(6){font-size:12px;animation-duration:2.7s;animation-delay:.9s;top:6%;left:47%}.hero-sparkles b{opacity:0;background:radial-gradient(circle, #fff 0%, #ffe487 45%, var(--gold) 78%, transparent 100%);width:4px;height:4px;box-shadow:0 0 6px color-mix(in srgb, var(--gold) 80%, transparent);will-change:transform, opacity;border-radius:50%;animation:1.7s ease-in-out infinite heroShimmer;position:absolute}.hero-sparkles b:first-of-type{animation-duration:1.5s;animation-delay:.2s;top:13%;left:39%}.hero-sparkles b:nth-of-type(2){width:3px;height:3px;animation-duration:1.9s;animation-delay:.9s;top:20%;left:84%}.hero-sparkles b:nth-of-type(3){animation-duration:1.6s;animation-delay:.45s;top:50%;left:92%}.hero-sparkles b:nth-of-type(4){width:5px;height:5px;animation-duration:2s;animation-delay:1.2s;top:54%;left:2%}.hero-sparkles b:nth-of-type(5){width:3px;height:3px;animation-duration:1.7s;animation-delay:.7s;top:2%;left:61%}.hero-sparkles b:nth-of-type(6){animation-duration:1.8s;animation-delay:1.5s;top:42%;left:24%}.hero-sparkles b:nth-of-type(7){width:3px;height:3px;animation-duration:1.6s;animation-delay:.1s;top:73%;left:62%}.hero-sparkles b:nth-of-type(8){width:5px;height:5px;animation-duration:2.1s;animation-delay:1s;top:24%;left:8%}@keyframes heroTwinkle{0%,to{opacity:0;transform:scale(.35)rotate(0)}50%{opacity:1;transform:scale(1)rotate(20deg)}}@keyframes heroShimmer{0%,to{opacity:0;transform:scale(.3)}45%{opacity:1;transform:scale(1)}}.hero-sparkles.hero i{color:var(--hero);text-shadow:0 0 5px #fff, 0 0 11px color-mix(in srgb, var(--hero) 78%, transparent)}.hero-sparkles.hero b{background:radial-gradient(circle, #fff 0%, #e3d3ff 45%, var(--hero) 78%, transparent 100%);box-shadow:0 0 6px color-mix(in srgb, var(--hero) 82%, transparent)}.hero-sparkles.lead i:nth-of-type(2n){color:#8fd0ff;text-shadow:0 0 5px #fff,0 0 11px #8fd0ffd9}.hero-sparkles.lead b:nth-of-type(2n){background:radial-gradient(circle,#fff 0%,#cfe9ff 45%,#8fd0ff 78%,#0000 100%);box-shadow:0 0 6px #8fd0ffd9}@media (prefers-reduced-motion:reduce){.hero-sparkles i,.hero-sparkles b{opacity:.9;animation:none;transform:none}}.rank-hero{color:var(--gold);text-shadow:0 0 8px color-mix(in srgb, var(--gold) 55%, transparent);margin-right:5px}.node-hero{z-index:3;color:#40210a;background:radial-gradient(circle at 40% 30%, #ffe08a, var(--gold));width:20px;height:20px;box-shadow:0 2px 8px #00000080, 0 0 10px color-mix(in srgb, var(--gold) 45%, transparent), inset 0 1px 0 #fff9;border-radius:50%;place-items:center;font-size:11px;display:grid;position:absolute;bottom:-6px;right:-6px}.node-hero.mini-hero{width:16px;height:16px;font-size:9px;bottom:-4px;right:-4px}.hero-chip{color:#40210a;background:radial-gradient(circle at 30% 20%, #ffe08a, var(--gold));border-radius:20px;align-items:center;gap:4px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-flex;box-shadow:inset 0 1px #ffffff80}.hero-toggle{cursor:pointer;align-items:center;gap:9px;margin:2px 0 4px;display:flex}.hero-toggle input{width:16px;height:16px;accent-color:var(--gold);cursor:pointer}.hero-toggle-label{color:var(--text);font-weight:600}.hero-toggle-mark{color:#b8860b}.lm-toggle-mark{color:var(--focus)}.snr-toggle-mark{color:var(--steel)}.slt-toggle-mark{color:var(--blue)}.node.person.mini.ceo-node .person-label{border-color:color-mix(in srgb, var(--gold) 45%, #ffffff38);background:linear-gradient(160deg,#fff3,#ffffff0f);font-weight:700}.glass{background:linear-gradient(160deg,#212a50f2,#0d1128f5);border:1px solid #ffffff3d;position:relative;box-shadow:0 16px 42px #00000080,inset 0 1px #ffffff80,inset 0 -1px #ffffff14,inset 0 0 18px #ffffff0d}.glass:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffffd9,#0000);height:1px;position:absolute;top:0;left:8%;right:8%}.skill-pop{z-index:20;transform-origin:top;pointer-events:none;border-radius:14px;min-width:172px;max-width:244px;padding:10px 12px 11px;animation:.18s ease-out both skillPopIn;position:absolute;overflow:visible}.skill-pop.senior{border-color:color-mix(in srgb, var(--gold) 55%, #ffffff38)}.skill-pop:after{content:"";background:#141a37eb;border-top:1px solid #ffffff42;border-left:1px solid #ffffff42;width:10px;height:10px;position:absolute;top:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.skill-pop-head{border-bottom:1px solid #ffffff24;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;padding-bottom:8px;display:flex}.skill-pop-id{flex-direction:column;gap:1px;min-width:0;display:flex}.skill-pop-name{color:#fff;letter-spacing:.01em;align-items:center;gap:5px;font-size:13.5px;font-weight:800;display:flex}.skill-pop-role{color:#fff9;font-size:11.5px;font-weight:600}.skill-pop-hint{color:color-mix(in srgb, var(--focus) 70%, white);letter-spacing:.02em;font-size:10.5px;font-weight:600}.rank-crown{color:var(--gold);font-size:11px}.rank-star{color:var(--focus);text-shadow:0 0 6px color-mix(in srgb, var(--focus) 60%, transparent);font-size:11px}.rank-chip{text-transform:uppercase;letter-spacing:.4px;color:#fffc;background:#ffffff1f;border:1px solid #ffffff2e;border-radius:20px;flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:800}.rank-chip.senior{color:#2a1e04;background:radial-gradient(circle at 40% 30%, #ffe08a, var(--gold));border-color:color-mix(in srgb, var(--gold) 60%, white)}.skill-pop-body{flex-direction:column;gap:6px;display:flex}.skill-pop-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.skill-pop-topic{color:#ffffffd1;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}@keyframes skillPopIn{0%{opacity:0}}.dept-pop{z-index:20;transform-origin:top;pointer-events:none;border-radius:16px;width:290px;padding:12px 14px 13px;animation:.18s ease-out both skillPopIn;position:absolute;overflow:visible}.dept-pop:after{content:"";background:#141a37eb;border-top:1px solid #ffffff42;border-left:1px solid #ffffff42;width:10px;height:10px;position:absolute;top:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.dept-pop-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.dept-pop-title{color:#fff;font-size:16px;font-weight:800}.dept-pop-count{color:#fff9;white-space:nowrap;font-size:11px;font-weight:700}.dept-pop-leaders{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;gap:9px;margin-bottom:10px;padding:10px;display:flex}.dept-leader{align-items:center;gap:10px;display:flex}.dept-leader-av{flex-shrink:0;display:inline-flex;position:relative}.dept-leader-id{flex-direction:column;min-width:0;display:flex}.dept-leader-name{color:#fff;font-size:13px;font-weight:700;line-height:1.15}.dept-leader-role{color:#ffffff9e;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.dept-pop-desc{color:#ffffffb8;margin-bottom:11px;font-size:12px;line-height:1.4}.dept-pop-sub{text-transform:uppercase;letter-spacing:.5px;color:#ffffff8c;margin-bottom:7px;font-size:10.5px;font-weight:800}.dept-pop-skills{flex-direction:column;gap:6px;display:flex}.dept-skill-right{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.dept-skill-count{color:#ffffff80;font-size:11px;font-weight:700}.dept-pop-more{color:#ffffff8c;margin-top:5px}.focus-zone{z-index:0;pointer-events:none;border:1px dashed #ffffff24;border-radius:50%;animation:.4s ease-out both focusRingIn;position:absolute;transform:translate(-50%,-50%)}.focus-ring{z-index:0;pointer-events:none;border:2px dashed color-mix(in srgb, var(--focus) 50%, transparent);box-shadow:inset 0 0 60px color-mix(in srgb, var(--focus) 8%, transparent);border-radius:50%;animation:.35s ease-out both focusRingIn,2.6s ease-in-out infinite focusRingPulse;position:absolute;transform:translate(-50%,-50%)}@keyframes focusRingIn{0%{opacity:0}}@keyframes focusRingPulse{0%,to{border-color:color-mix(in srgb, var(--focus) 42%, transparent)}50%{border-color:color-mix(in srgb, var(--focus) 70%, transparent)}}.burst{z-index:1;pointer-events:none;position:absolute}.burst-ring{opacity:0;border:1.5px solid;border-radius:50%;animation:.45s cubic-bezier(.08,.7,.25,1) forwards burstRing;position:absolute;top:0;left:0;transform:translate(-50%,-50%)scale(.1)}@keyframes burstRing{0%{opacity:0;transform:translate(-50%,-50%)scale(.1)}18%{opacity:.55}to{opacity:0;transform:translate(-50%,-50%)scale(1)}}.burst-bit{border-radius:50%;animation:.58s cubic-bezier(.1,.85,.25,1) forwards burstOut;position:absolute;top:0;left:0;box-shadow:0 0 4px .5px}@keyframes burstOut{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}12%{opacity:1}45%{opacity:1;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--dx) * 1.15), calc(-50% + var(--dy) + var(--g))) scale(.3)}}.node.topic{white-space:nowrap;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);cursor:default;border-radius:22px;align-items:center;gap:7px;padding:6px 13px 6px 6px;font-size:13px;font-weight:600;display:flex}.node.topic.focus{border-color:var(--text);z-index:8;transform:translate(-50%,-50%)scale(1.06)}.avatar{color:#fff;border:2px solid #fff;border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.cat-badge{text-transform:uppercase;letter-spacing:.5px;color:#fff;border-radius:20px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:10px;font-weight:800;display:inline-flex}.cat-subject{background:#8b5cf6}.cat-system{background:#0ea5e9}.cat-topic{background:#14b8a6}.stars{color:#d3dae4;gap:2px;line-height:1;display:inline-flex}.stars .star.filled{color:var(--orange)}.stars.editable .star{cursor:pointer;transition:transform .1s,color .1s}.stars.editable .star:hover{transform:scale(1.2)}.editable-text{cursor:text;border-radius:6px;margin:-1px -6px;padding:1px 6px;transition:background .15s}.editable-text:hover{background:var(--surface-2)}.editable-input{background:var(--surface);border:1px solid var(--blue);color:var(--text);font:inherit;border-radius:6px;padding:1px 6px}.modal-backdrop{z-index:60;background:#080e1ea8;place-items:center;padding:24px;animation:.15s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal{background:var(--surface);border:1px solid var(--border);width:min(620px,100%);max-height:88vh;box-shadow:var(--shadow);border-radius:18px;padding:26px;animation:.18s cubic-bezier(.2,.8,.2,1) pop;position:relative;overflow:auto}@keyframes pop{0%{opacity:0;transform:translateY(12px)scale(.98)}}.person-modal{color:#e7eefb;background:linear-gradient(165deg,#181e3efa,#0b0e22fc) padding-box padding-box,linear-gradient(150deg,#f8e493 0%,#d9a441 30%,#9a6c1e 52%,#d9a441 74%,#f4d47a 100%) border-box;border:3px solid #0000;border-radius:26px;width:min(860px,94vw);padding:0;animation:.18s cubic-bezier(.2,.8,.2,1) pop;position:relative;overflow:visible;box-shadow:0 30px 80px #0000009e,0 0 40px #b482282e,inset 0 1px #ffffff1f}.pm-inner{border-radius:23px;max-height:90vh;padding:52px 46px 34px;overflow:hidden auto}.pm-crown{z-index:3;filter:drop-shadow(0 4px 10px #00000080);width:62px;height:62px;position:absolute;top:-30px;right:56px}.pm-crown .badge-svg{width:100%;height:100%;display:block}.pm-close{z-index:4;color:#fff;background:linear-gradient(160deg,#3f6fe6,#2f54c9);border:1px solid #fff6;border-radius:12px;place-items:center;width:44px;height:44px;font-size:18px;line-height:1;display:grid;position:absolute;top:-22px;right:-22px;box-shadow:0 8px 20px #00000080,inset 0 1px #ffffff59}.pm-close:hover{background:linear-gradient(160deg,#4f7df2,#375fd6)}.pm-head{align-items:center;gap:16px;display:flex}.pm-avatar{flex:none;display:inline-flex;position:relative}.pm-avatar.gold{--pm-ring:#e8c563}.pm-avatar.silver{--pm-ring:#c4cfdc}.pm-avatar.bronze{--pm-ring:#c9814a}.pm-avatar .avatar{box-shadow:0 0 0 4px var(--pm-ring,#d9a441), 0 0 0 6px #00000059;border-color:#0000}.pm-sparkles{pointer-events:none;z-index:3;position:absolute;inset:-12px}.pm-sparkles i{opacity:0;background:radial-gradient(circle, #fff 0%, var(--spk) 70%, transparent 100%);width:7px;height:7px;box-shadow:0 0 5px var(--spk);border-radius:50%;animation:2.8s ease-in-out infinite pmSpk;position:absolute}.pm-sparkles.gold{--spk:#f2c14e}.pm-sparkles.silver{--spk:#cbd5e1}.pm-sparkles.bronze{--spk:#d08a4e}.pm-sparkles i:first-child{animation-delay:0s;top:-3%;left:18%}.pm-sparkles i:nth-child(2){width:5px;height:5px;animation-delay:.7s;top:12%;left:95%}.pm-sparkles i:nth-child(3){animation-delay:1.2s;top:72%;left:-5%}.pm-sparkles i:nth-child(4){width:5px;height:5px;animation-delay:.4s;top:94%;left:58%}.pm-sparkles i:nth-child(5){width:4px;height:4px;animation-delay:1.6s;top:42%;left:101%}@keyframes pmSpk{0%,to{opacity:0;transform:scale(.4)}50%{opacity:.95;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.pm-sparkles i{opacity:.7;animation:none}}.pm-id{text-align:center;flex-direction:column;flex:1 1 0;align-items:center;gap:7px;min-width:0;display:flex}.pm-head:after{content:"";flex:0 0 108px}.pm-pills{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;display:flex}.pm-pill{white-space:nowrap;border-radius:20px;padding:4px 14px;font-size:12.5px;font-weight:700}.pm-pill.dept{color:#d9e2fb;background:linear-gradient(160deg,#181e42f2,#0e122af2);border:1.5px solid #d9a441b3}.pm-pill.gold{color:#3a2a06;background:linear-gradient(160deg,#f8e08a,#d9a441);border:1px solid #b8801f;box-shadow:inset 0 1px #ffffff80}.pm-name{color:#fff;font-size:31px;font-weight:800;line-height:1.1}.pm-role{color:#ffffffd1;font-size:17px;font-weight:600}.pm-email{color:var(--focus);word-break:break-all;margin-top:16px;font-size:15px;font-weight:700;text-decoration:none;display:block}.pm-email:hover{text-decoration:underline}.pm-phone{margin-top:3px}.pm-summary-panel{background:linear-gradient(160deg,#465cc83d,#3040a033);border:1px solid #788ef052;border-radius:16px;margin-top:20px;padding:18px 24px}.pm-summary-panel p{text-align:center;color:#ffffffe6;margin:0;font-size:16px;line-height:1.6}.pm-knowledge{margin-top:26px}.pm-kn-title{text-align:center;color:#fff;margin-bottom:14px;font-size:17px;font-weight:800}.pm-none{text-align:center}.pm-skills{flex-direction:column;gap:11px;display:flex}.pm-skill{text-align:left;width:100%;color:inherit;cursor:pointer;background:linear-gradient(#6074e657,#4658c842);border:1px solid #788ef057;border-radius:13px;justify-content:space-between;align-items:center;gap:14px;padding:15px 22px;transition:background .14s,border-color .14s,transform .1s;display:flex}.pm-skill:hover{border-color:color-mix(in srgb, var(--focus) 55%, transparent);background:linear-gradient(#7488fa70,#5668dc57)}.pm-skill:active{transform:scale(.995)}.pm-skill-name{color:#fff;align-items:center;gap:11px;font-size:16.5px;font-weight:700;display:flex}.topic-modal{padding:40px 40px 34px}.tm-head{align-items:center;gap:12px;margin-bottom:4px;display:flex}.tm-head .pm-name{font-size:26px}.tm-list{flex-direction:column;gap:9px;max-height:66vh;margin-top:20px;display:flex;overflow-y:auto}.tm-row{text-align:left;cursor:pointer;color:#eef3fb;background:#ffffff0d;border:1px solid #ffffff17;border-radius:13px;align-items:center;gap:14px;width:100%;padding:12px 18px;transition:background .14s,border-color .14s;display:flex}.tm-row:hover{border-color:color-mix(in srgb, var(--accent,var(--focus)) 50%, transparent);background:#ffffff1a}.tm-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:16px;font-weight:700;overflow:hidden}.person-modal .dept-chip{color:#fff;background:color-mix(in srgb, var(--accent) 40%, transparent);border-color:color-mix(in srgb, var(--accent) 55%, transparent)}.person-modal .lvl-chip{color:#ffffffd1;background:#ffffff1a;border-color:#ffffff2e}.modal-close{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);border-radius:8px;width:32px;height:32px;font-size:14px;position:absolute;top:16px;right:16px}.modal-close:hover{color:var(--text)}.profile-head{align-items:center;gap:18px;display:flex}.profile-fields{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.field-title{font-size:22px;font-weight:700}.field-sub{color:var(--muted);font-size:15px}.field-title,.field-sub{color:var(--text);background:0 0;border:none;border-bottom:1px solid #0000;outline:none;padding:3px 0}.field-title:focus,.field-sub:focus{border-bottom-color:var(--blue)}.field-inline{align-items:center;gap:8px;margin-top:4px;display:flex}input,select{background:var(--surface);border:1px solid var(--border);color:var(--text);font:inherit;border-radius:9px;outline:none;padding:9px 11px;font-size:14px}input:focus,select:focus{border-color:var(--blue)}.contact-grid{grid-template-columns:1fr 1fr;gap:12px;margin:22px 0;display:grid}.contact-grid label{flex-direction:column;gap:5px;display:flex}.contact-grid .wide{grid-column:1/-1}.field-textarea{box-sizing:border-box;resize:vertical;width:100%;min-height:62px;font:inherit;background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 10px;line-height:1.45}.field-textarea:focus{border-color:var(--blue);outline:none}.field-textarea::placeholder{color:var(--muted)}.knowledge{border-top:1px solid var(--border);padding-top:20px}.knowledge h3{margin-bottom:14px;font-size:16px}.knowledge-list{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.knowledge-item{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.k-name{align-items:center;gap:10px;font-size:14px;display:flex}.icon-btn{color:var(--muted);background:0 0;border:none;border-radius:6px;width:26px;height:26px;font-size:13px}.icon-btn:hover{color:var(--danger);background:#d645501a}.add-knowledge{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:14px}.add-row{gap:8px;display:flex}.add-row input{flex:1}.suggestions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.suggestion{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:20px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:flex}.suggestion:hover{border-color:var(--blue)}.modal-footer{justify-content:space-between;margin-top:24px;display:flex}.map-search{top:calc(var(--topbar-h) + 14px);z-index:20;width:min(460px,62vw);position:absolute;left:50%;transform:translate(-50%)}.search-box{background:linear-gradient(160deg,#181e3ceb,#0c0f24e6);border:1px solid #ffffff29;border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px;padding:7px 11px;display:flex;box-shadow:0 12px 30px #00000073,inset 0 1px #fff3}.search-icon{opacity:.7;font-size:13px}.search-box input{min-width:120px;box-shadow:none;color:#eef3fb;background:0 0;border:none;flex:1;padding:5px 4px}.search-box input::placeholder{color:#ffffff73}.search-box input:focus{border:none}.search-chip{background:color-mix(in srgb, var(--focus) 22%, transparent);color:#ffd9a8;border:1px solid color-mix(in srgb, var(--focus) 45%, transparent);border-radius:20px;align-items:center;gap:6px;padding:3px 5px 3px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.search-chip button{color:#ffd9a8;background:0 0;border:none;font-size:11px;line-height:1}.search-clear{color:#fff9;background:0 0;border:none;padding:4px 6px;font-size:12.5px;font-weight:600}.search-clear:hover{color:var(--focus)}.search-suggestions,.search-results{background:linear-gradient(160deg,#161c38f2,#0b0e22f0);border:1px solid #ffffff24;border-radius:12px;margin-top:8px;overflow:hidden;box-shadow:0 16px 36px #00000080}.search-suggestion{text-align:left;color:#e7eefb;background:0 0;border:none;align-items:center;gap:9px;width:100%;padding:9px 12px;font-size:13.5px;display:flex}.search-suggestion:hover{background:#ffffff14}.results-head{color:#ffffff8c;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #ffffff1a;padding:9px 14px;font-size:12px;font-weight:700}.results-list{max-height:46vh;overflow-y:auto}.result-row{text-align:left;color:#e7eefb;background:0 0;border:none;border-bottom:1px solid #ffffff14;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;width:100%;padding:9px 12px;display:grid}.result-row:last-child{border-bottom:none}.result-row:hover{background:#ffffff14}.result-meta{flex-direction:column;min-width:0;display:flex}.result-name{font-size:13.5px;font-weight:700}.result-right{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.result-hits{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.result-hit{color:#ffffff8c;align-items:center;gap:5px;font-size:11px;display:inline-flex}.result-best{color:var(--focus);white-space:nowrap;font-size:13px;font-weight:800}.no-match{padding:14px}.map-search .muted{color:#ffffff8c}.dept-chip{white-space:nowrap;background:color-mix(in srgb, var(--accent,var(--blue)) 15%, white);color:color-mix(in srgb, var(--accent,var(--blue)) 78%, black);border:1px solid color-mix(in srgb, var(--accent,var(--blue)) 30%, white);border-radius:20px;padding:2px 9px;font-size:11px;font-weight:700}.lvl-chip{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);border-radius:20px;padding:2px 9px;font-size:11px;font-weight:700}.node.match .avatar{box-shadow:0 0 0 3px var(--orange)}.node.hub.match,.node.topic.match{border-color:var(--orange)}.quicklook{top:calc(var(--topbar-h) + 14px);z-index:18;width:288px;max-height:calc(100% - var(--topbar-h) - 30px);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-top:4px solid var(--accent);border-radius:16px;padding:18px;animation:.14s slidein;position:absolute;right:16px;overflow-y:auto}@keyframes slidein{0%{opacity:0;transform:translate(10px)}}.ql-head{align-items:center;gap:12px;display:flex}.ql-head .avatar{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent);border-color:#fff}.ql-id h3{font-size:17px}.ql-tags{flex-wrap:wrap;gap:6px;margin:14px 0 10px;display:flex}.ql-dept-badge{color:#fff;background:linear-gradient(150deg, color-mix(in srgb, var(--accent) 88%, white), var(--accent));width:46px;height:46px;box-shadow:0 4px 14px color-mix(in srgb, var(--accent) 45%, transparent);border-radius:12px;flex-shrink:0;place-items:center;font-size:20px;font-weight:800;display:grid}.ql-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 14px;display:grid}.ql-stat{text-align:center;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:9px 6px;display:flex}.ql-stat-num{color:var(--text);font-size:17px;font-weight:800}.ql-stat-num.accent{color:var(--orange)}.ql-stat-lbl{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10.5px;overflow:hidden}.ql-k-count{color:var(--muted);font-size:11px;font-style:normal}.ql-contact{word-break:break-all;flex-direction:column;gap:2px;margin-bottom:14px;font-size:13px;display:flex}.ql-email{color:var(--blue);font-weight:600}.ql-knowledge{border-top:1px solid var(--border);padding-top:12px}.ql-sub{text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:8px;font-size:11px;font-weight:700}.ql-k{justify-content:space-between;align-items:center;gap:10px;padding:3px 0;font-size:13px;display:flex}.ql-k-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ql-hint{border-top:1px dashed var(--border);margin-top:14px;padding-top:10px}.node.enter{animation:.5s cubic-bezier(.2,.9,.25,1.1) backwards nodeIn}@keyframes nodeIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.edge{transition:opacity .2s}.edge.flow{stroke-dasharray:5 7;animation:.7s linear infinite flow}@keyframes flow{to{stroke-dashoffset:-24px}}.center-hub{position:absolute}.center-hub:after{content:"";border:2px solid color-mix(in srgb, var(--accent) 60%, transparent);pointer-events:none;border-radius:18px;animation:2.8s ease-out infinite sonar;position:absolute;inset:0}.center-hub.sub:after{display:none}@keyframes sonar{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.28)}}.node.person:hover,.node.person.focus{box-shadow:0 10px 24px #0009, 0 0 22px color-mix(in srgb, var(--focus) 34%, transparent), inset 0 1px 0 #ffffff1a}.node.hub:hover,.node.hub.focus{box-shadow:0 10px 24px #0000008c, 0 0 26px color-mix(in srgb, var(--focus) 40%, transparent), inset 0 1px 0 #ffffff1a}.node.match .avatar{animation:1.5s ease-in-out infinite matchpulse}@keyframes matchpulse{0%,to{box-shadow:0 0 0 3px var(--orange)}50%{box-shadow:0 0 0 7px color-mix(in srgb, var(--orange) 25%, transparent)}}.stars.editable:hover .star.filled{filter:drop-shadow(0 0 3px color-mix(in srgb, var(--orange) 60%, transparent))}@media (prefers-reduced-motion:reduce){.edge.flow,.center-hub:after,.hub:after,.center-node:after,.node.match .avatar,.node.enter,.focus-ring,.focus-zone{animation:none!important}.canvas-inner.animate{transition:none!important}.burst{display:none}}
