:root{--cat-leadership:#5dcaa5;--cat-professor:#8ab4ff;--cat-associate:#a99bff;--cat-assistant:#f29bd0;--cat-teaching:#fac775;--cat-technical:#7fd3e6;--cat-administrative:#c3cbd9;--cat-none:#6f84a8;--dir-ease:cubic-bezier(.16, 1, .3, 1)}:root[data-theme=light]{--cat-leadership:#0b7a5c;--cat-professor:#1f4fbf;--cat-associate:#5a3fc0;--cat-assistant:#a3246f;--cat-teaching:#854f0b;--cat-technical:#0b6c80;--cat-administrative:#4a5a78;--cat-none:#6b7a96}.dir-hero{isolation:isolate}.dir-orbit{z-index:-1;aspect-ratio:1;pointer-events:none;width:min(42rem,48vw);position:absolute;top:54%;right:max(-4rem,50% - 42rem);translate:0 -50%}@media (max-width:1023.98px){.dir-orbit{opacity:.3;width:100vw;top:16%;right:-52vw}}.dir-orbit>*,.dir-orbit svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.dir-orbit .ring-guide{fill:none;stroke:var(--line);stroke-width:.6px}.dir-orbit .ring-guide.dashed{stroke-dasharray:2 6}.dir-spectrum{border-radius:999px;gap:3px;height:.5rem;display:flex;overflow:hidden}.dir-spectrum span{flex:var(--share) 1 0;background:var(--cat);transform-origin:0;min-width:4px}.dir-filters{border-block:1px solid var(--line);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.2);backdrop-filter:blur(16px)saturate(1.2)}@media (min-width:1024px){.dir-filters{top:var(--site-header-inset,4rem);transition:top .24s ease-out}}.dir-search{background:var(--surface);border:1px solid var(--line-strong);transition:border-color .2s,box-shadow .2s}.dir-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.dir-search input{outline:none}.dir-search input::-webkit-search-cancel-button{display:none}.dir-legend{scrollbar-width:none}.dir-legend::-webkit-scrollbar{display:none}.dir-chip{--chip:var(--cat);color:var(--fg);transition:background-color .25s var(--dir-ease), border-color .25s var(--dir-ease), color .25s, transform .25s var(--dir-ease);background:0 0;border:1px solid #0000}.dir-chip:hover{background:color-mix(in srgb, var(--chip) 22%, transparent);transform:translateY(-1px)}.dir-chip .dot{background:var(--chip);box-shadow:0 0 0 3px color-mix(in srgb, var(--chip) 22%, transparent);transition:transform .3s var(--dir-ease), background-color .3s}.dir-chip[aria-pressed=false]{border-color:var(--line-strong);color:var(--muted);border-style:dashed}.dir-chip[aria-pressed=false] .dot{box-shadow:inset 0 0 0 1.5px var(--chip);background:0 0;transform:scale(.8)}.dir-chip[aria-pressed=false] .label{text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--muted) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--muted) 60%, transparent)}.dir-chart{position:relative}.dir-links{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.dir-links path{fill:none;stroke:var(--line-strong);stroke-width:1.25px;stroke-linecap:round;transition:stroke .3s,stroke-width .3s,opacity .3s}.dir-links path.spine{stroke-width:1.75px}.dir-links path[data-active]{stroke:var(--accent);stroke-width:2px}.dir-links path[data-dim]{opacity:.3}.dir-pulses{pointer-events:none;position:absolute;top:0;left:0}.dir-pulses .pulse{background:var(--accent);width:5px;height:5px;box-shadow:0 0 4px var(--accent);opacity:0;border-radius:50%;position:absolute;top:-2.5px;left:-2.5px}.dir-node{--ring:5.5rem;text-align:center;background:var(--bg);transition:transform .45s var(--dir-ease), opacity .35s, background-color .3s;border-radius:1.25rem;flex-direction:column;align-items:center;gap:.6rem;padding:0 .25rem .75rem;display:flex;position:relative}.dir-node:hover,.dir-node:focus-visible{background:color-mix(in srgb, var(--surface) 70%, transparent);transform:translateY(-4px)}.dir-node[data-dim]{opacity:.38}.dir-node.size-sm{--ring:4.25rem}.dir-node.size-lg{--ring:10.5rem;gap:.9rem}.dir-node-ring{width:var(--ring);height:var(--ring);place-items:center;display:grid;position:relative}.dir-node-ring>.dir-dot-ring,.dir-dot-ring>svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.dir-node-ring .face{background:var(--surface);width:68%;height:68%;box-shadow:0 0 0 1px var(--line-strong), 0 12px 32px -12px #00000080;border-radius:50%;transition:box-shadow .3s;overflow:hidden}.dir-node:hover .face,.dir-node:focus-visible .face{box-shadow:0 0 0 2px var(--accent), 0 0 36px -4px var(--glow)}.dir-node .port{background:var(--bg);border:1.5px solid var(--line-strong);border-radius:50%;width:7px;height:7px;margin-left:-3.5px;transition:border-color .3s;position:absolute;top:-3px;left:50%}.dir-node:hover .port{border-color:var(--accent)}.dir-node .match{top:0;right:calc(50% - var(--ring) / 2 - .4rem);background:var(--accent);min-width:1.4rem;color:var(--bg);font:600 .68rem/1.2 var(--font-mono);border-radius:999px;padding:.1rem .4rem;position:absolute}.dir-ring-dots circle{transform-box:fill-box;transform-origin:50%}.dir-group-label{font:.68rem var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);justify-content:center;align-items:center;gap:.75rem;display:flex}.dir-group-label:before,.dir-group-label:after{content:"";background:var(--line-strong);flex:0 3rem;height:1px}.dir-unit{scroll-margin-top:4rem}.dir-unit:focus{outline:none}.dir-unit-divider{border-top:1px solid var(--line-strong);color:var(--muted);font:.68rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;align-items:flex-end;gap:1.5rem;padding-top:1.75rem;display:flex}.dir-unit-divider .index{font:500 clamp(3rem, 6vw, 5.5rem) / .8 var(--font-display);letter-spacing:-.08em;color:#0000;-webkit-text-stroke:1px var(--line-strong)}.dir-unit-strip{border-radius:999px;gap:2px;width:min(14rem,40%);height:4px;margin-left:auto;display:flex;overflow:hidden}.dir-unit-strip span{flex:var(--share) 1 0;background:var(--cat)}.dir-unit[data-compact] .dir-unit-divider{border-top-color:var(--line);gap:1rem;padding-top:1rem}.dir-unit[data-compact] .dir-unit-divider .index{font-size:1.75rem}.dir-unit-body[data-collapsed]{display:none}.dir-toggle .chevron{transition:transform .35s var(--dir-ease)}.dir-toggle[aria-expanded=true] .chevron{transform:rotate(180deg)}.dir-group-title .dot{background:var(--cat);box-shadow:0 0 0 4px color-mix(in srgb, var(--cat) 20%, transparent)}[data-filtered]{display:none}.dir-person{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 72%, transparent);transition:transform .45s var(--dir-ease), border-color .3s, box-shadow .45s var(--dir-ease), background-color .3s;position:relative}.dir-person:before{content:"";border-radius:inherit;background:radial-gradient(120% 90% at 0% 0%, color-mix(in srgb, var(--cat) 10%, transparent), transparent 60%);pointer-events:none;position:absolute;inset:0}.dir-person:hover{border-color:color-mix(in srgb, var(--cat) 45%, var(--line));background:var(--surface);box-shadow:0 18px 40px -22px color-mix(in srgb, var(--cat) 55%, transparent);transform:translateY(-3px)}.dir-person.is-head{border-color:color-mix(in srgb, var(--cat) 35%, var(--line));background:radial-gradient(80% 140% at 0% 50%, color-mix(in srgb, var(--cat) 14%, transparent), transparent 70%), var(--surface)}@property --dir-turn{syntax:"<angle>";inherits:false;initial-value:0deg}.dir-avatar{width:var(--size,4rem);height:var(--size,4rem);flex:none;position:relative}.dir-person.is-head .dir-avatar{--size:7rem}@media (max-width:639.98px){.dir-person.is-head .dir-avatar{--size:5.5rem}}.dir-avatar:before{content:"";background:conic-gradient(from var(--dir-turn), var(--cat), color-mix(in srgb, var(--cat) 25%, transparent) 40%, var(--cat) 70%, var(--cat));transition:--dir-turn 1.2s var(--dir-ease);border-radius:50%;position:absolute;inset:-4px;-webkit-mask:radial-gradient(closest-side,#0000 calc(100% - 2.5px),#000 calc(100% - 2px));mask:radial-gradient(closest-side,#0000 calc(100% - 2.5px),#000 calc(100% - 2px))}.dir-person:hover .dir-avatar:before{--dir-turn:300deg}.dir-avatar .face{background:var(--surface-2);border-radius:50%;width:100%;height:100%;overflow:hidden}.dir-initials{background:color-mix(in srgb, var(--cat) 18%, var(--surface));width:100%;height:100%;color:var(--cat);font-family:var(--font-display);letter-spacing:.02em;border-radius:50%;place-items:center;font-weight:600;display:grid}.dir-rank{border:2px solid var(--bg);background:var(--cat);color:var(--bg);font:600 .58rem/1.3 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.05rem .35rem;position:absolute;bottom:-.2rem;right:-.35rem}.dir-person mark,.dir-node mark{background:color-mix(in srgb, var(--accent) 30%, transparent);color:var(--ink);border-radius:3px;padding:0 1px}.dir-leave{border:1px solid color-mix(in srgb, var(--warn) 45%, transparent);background:var(--warn-soft);color:var(--warn)}@media (prefers-reduced-motion:no-preference){.dir-orbit .ring-people{animation:240s linear infinite dir-spin}.dir-orbit .ring-units{animation:160s linear infinite reverse dir-spin}.dir-orbit[data-far] .dir-orbit-ring,.dir-chart:not([data-near]) .dir-apex .dir-dot-ring{animation-play-state:paused}.dir-spectrum span{animation:dir-grow 1.4s var(--dir-ease) both;animation-delay:calc(.5s + var(--i) * 80ms)}.dir-apex .dir-dot-ring{animation:90s linear infinite dir-spin}.dir-chart[data-motion] .dir-links path{stroke-dasharray:1;stroke-dashoffset:1px}.dir-chart[data-motion=play] .dir-links path{animation:dir-draw 1.3s var(--dir-ease) forwards;animation-delay:calc(var(--i,0) * 70ms + var(--d,0s))}.dir-chart[data-motion] .dir-ring-dots circle,.dir-chart[data-motion] .dir-node .face{opacity:0;scale:.3}.dir-chart[data-motion=play] .dir-ring-dots circle{animation:dir-pop .5s var(--dir-ease) forwards;animation-delay:calc(var(--d,0s) + .35s + var(--i,0) * 12ms)}.dir-chart[data-motion=play] .dir-node .face{animation:dir-pop .8s var(--dir-ease) forwards;animation-delay:calc(var(--d,0s) + .15s)}}@keyframes dir-spin{to{transform:rotate(360deg)}}@keyframes dir-grow{0%{transform:scaleX(0)}}@keyframes dir-draw{to{stroke-dashoffset:0}}@keyframes dir-pop{to{opacity:1;scale:1}}@media (prefers-reduced-motion:reduce){.dir-person,.dir-node,.dir-chip,.dir-avatar:before,.dir-toggle .chevron{transition:none}.dir-person:hover,.dir-node:hover,.dir-node:focus-visible,.dir-chip:hover{transform:none}}@media print{.dir-orbit,.dir-filters,.dir-chart{display:none}.dir-unit-body[data-collapsed]{display:block}}@media (pointer:coarse),(max-width:1023.98px){.dir-chart{display:none}}
