.visual-tree-page{background:var(--deputy-page,#fff);color:var(--deputy-ink,#1e163c);font-family:var(--deputy-font,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)}
.visual-tree-content{min-height:calc(100vh - 280px);overflow:hidden}
.visual-tree-content>[data-tree-mount],.tree-map-frame{height:100%;width:100%}.tree-map-frame{position:relative}
.tree-viewport{background:var(--deputy-card-surface,#f9f9fc);border:1px solid var(--deputy-border,#dfe0e6);border-radius:20px;box-sizing:border-box;cursor:grab;height:130vh;min-height:620px;overflow:hidden;position:relative;touch-action:none;width:100%}.tree-viewport.is-dragging{cursor:grabbing;user-select:none}
.tree-canvas{align-items:flex-start;display:flex;gap:64px;left:0;min-width:max-content;padding:0 96px 96px;position:absolute;top:0;transform-origin:top left;will-change:transform}
.tree-family-group{flex:0 0 340px;text-align:center}.tree-card{align-items:center;background:var(--deputy-card,#fff);border:1px solid var(--deputy-border,#dfe0e6);border-radius:16px;box-shadow:0 5px 14px rgba(30,22,60,.08);color:var(--deputy-purple,#28256b);cursor:pointer;display:flex;font:inherit;justify-content:center;padding:16px 22px;position:relative;text-align:center;width:100%}.tree-card:hover,.tree-card:focus-visible{background:var(--deputy-support,#f7f9ff);border-color:var(--deputy-support-border,#a6bff9);box-shadow:0 10px 24px rgba(30,22,60,.14);outline:none}.tree-card strong{line-height:1.25}.tree-card--hub{height:112px}.tree-card--hub strong{font-size:20px;font-weight:750}.tree-card--sub-hub{height:88px}.tree-card--sub-hub strong{font-size:16px;font-weight:680}.tree-card--nested{height:66px;min-width:180px}.tree-card--nested strong{font-size:13px;font-weight:600}
.tree-subhub-stack{display:flex;flex-direction:column;gap:44px;margin-top:42px;position:relative}.tree-subhub-branch{position:relative}.tree-subhub-branch:before{background:var(--deputy-support-border,#a6bff9);content:"";height:42px;left:50%;position:absolute;top:-42px;width:2px}
.tree-subhub-branch>.tree-card--sub-hub{margin-inline:auto;width:340px}.tree-nested-fork{align-items:center;display:flex;flex-direction:column;gap:24px;margin-left:50%;padding-top:46px;position:relative;transform:translateX(-50%);width:520px}.tree-nested-fork:before{background:var(--deputy-support-border,#a6bff9);content:"";height:calc(100% - 34px);left:50%;position:absolute;top:0;width:2px}.tree-nested-branch{position:relative;width:180px;z-index:1}.tree-nested-branch>.tree-card--nested{width:180px}.tree-nested-branch:nth-child(odd){transform:translateX(-118px)}.tree-nested-branch:nth-child(even){transform:translateX(118px)}.tree-nested-branch:before{background:var(--deputy-support-border,#a6bff9);content:"";height:2px;position:absolute;top:50%;width:120px}.tree-nested-branch:nth-child(odd):before{left:100%;transform:rotate(18deg);transform-origin:left center}.tree-nested-branch:nth-child(even):before{right:100%;transform:rotate(-18deg);transform-origin:right center}.tree-nested-branch:only-child{transform:translateX(118px)}.tree-nested-fork .tree-nested-fork{margin-left:50%;padding-top:30px;width:420px}.tree-nested-fork .tree-nested-fork .tree-nested-branch{width:160px}.tree-nested-fork .tree-nested-fork .tree-card--nested{height:58px;min-width:160px;width:160px}
.visual-tree-detail{background:#fff;border:1px solid var(--deputy-border,#dfe0e6);border-radius:18px;box-shadow:0 12px 28px rgba(30,22,60,.18);box-sizing:border-box;color:var(--deputy-ink,#1e163c);max-height:560px;overflow:auto;padding:28px;position:absolute;text-align:left;width:420px;z-index:1000}.visual-tree-detail h2{color:var(--deputy-purple,#28256b);font-size:24px;margin:0 32px 12px 0}.visual-tree-detail h3{color:var(--deputy-purple,#28256b);font-size:18px;margin:24px 0 10px}.visual-tree-detail-summary{line-height:1.5}.visual-tree-detail-link{background:var(--deputy-purple,#28256b);border-radius:8px;color:#fff!important;display:inline-block;padding:11px 15px;text-decoration:none}.visual-tree-detail-close{background:transparent;border:0;color:var(--deputy-purple,#28256b);cursor:pointer;font-size:26px;position:absolute;right:14px;top:10px}.visual-tree-child-list{margin:0;max-height:320px;overflow-y:auto;padding-left:20px}.visual-tree-child-list li+li{margin-top:8px}.visual-tree-child-list a{color:var(--deputy-purple-link,#3d1cba)}
.tree-error{background:#fff3f3;border:1px solid #edcaca;border-radius:10px;color:#a23535;padding:24px}
@media(max-width:768px){.tree-viewport{height:70vh;min-height:480px}.tree-canvas{gap:36px;padding-inline:48px}}


/* Nested pages form descending columns to the right of their parent. */
.tree-nested-fork{align-items:flex-start;display:flex;flex-direction:column;gap:18px;margin-left:100%;padding:34px 0 0 58px;position:relative;transform:none;width:200px}
.tree-nested-fork:before{background:var(--deputy-support-border,#a6bff9);bottom:33px;content:"";height:auto;left:38px;position:absolute;top:34px;width:2px}
.tree-nested-branch,.tree-nested-branch:nth-child(odd),.tree-nested-branch:nth-child(even),.tree-nested-branch:only-child{position:relative;transform:none;width:180px;z-index:1}
.tree-nested-branch:before,.tree-nested-branch:nth-child(odd):before,.tree-nested-branch:nth-child(even):before{background:var(--deputy-support-border,#a6bff9);content:"";height:2px;left:-20px;position:absolute;right:auto;top:50%;transform:none;width:20px}
.tree-nested-fork>.tree-nested-branch:first-child:after{background:var(--deputy-support-border,#a6bff9);content:"";height:66px;left:-47px;position:absolute;top:-46px;transform:rotate(-38deg);transform-origin:bottom center;width:2px}
.tree-nested-fork .tree-nested-fork{margin-left:100%;padding:30px 0 0 54px;transform:none;width:180px}
.tree-nested-fork .tree-nested-fork:before{bottom:29px;left:34px;top:30px}

/* Offshoots do not consume height in the parent's vertical column. */
.tree-subhub-branch>.tree-nested-fork,.tree-nested-branch>.tree-nested-fork{left:100%;margin:0;padding:34px 0 0 58px;position:absolute;top:50%;transform:none}
.tree-nested-fork:after{background:var(--deputy-support-border,#a6bff9);content:"";height:2px;left:0;position:absolute;top:0;transform:rotate(42deg);transform-origin:left center;width:51px}
.tree-nested-fork>.tree-nested-branch:first-child:after{display:none}
.tree-nested-fork .tree-nested-fork{left:100%;margin:0;padding:30px 0 0 54px;position:absolute;top:50%;transform:none}
.tree-nested-fork .tree-nested-fork:after{transform:rotate(42deg);width:46px}

/* Explore Deputy map controls */
.visual-tree-map-toolbar{
  background:#fff;
  border:1px solid var(--deputy-border,#dfe0e6);
  border-radius:16px;
  box-shadow:0 12px 28px rgba(30,22,60,.14);
  display:flex;
  flex-direction:row;
  gap:0;
  margin:0!important;
  min-height:0!important;
  overflow:hidden;
  padding:6px;
  pointer-events:auto;
  position:absolute;
  right:20px;
  top:20px;
  width:auto;
  z-index:100;
}

.visual-tree-button{
  align-items:center;
  appearance:none;
  background:#fff;
  border:0;
  border-right:1px solid var(--deputy-border,#dfe0e6);
  border-radius:0;
  color:var(--deputy-purple,#28256b);
  cursor:pointer;
  display:flex;
  font:inherit;
  font-weight:700;
  height:40px;
  justify-content:center;
  padding:0;
  text-align:center;
  transition:background-color .16s ease,color .16s ease;
  width:40px;
}

.visual-tree-button:last-child{
  border-right:0;
}

.visual-tree-button [aria-hidden="true"]{
  display:inline-block;
  font-size:18px;
  line-height:1;
  text-align:center;
}

.visual-tree-button:hover,
.visual-tree-button:active,
.visual-tree-button:focus,
.visual-tree-button:focus-visible{
  background:var(--deputy-support,#f7f9ff);
  box-shadow:none;
  color:var(--deputy-purple-link,#3d1cba);
  outline:none;
}

.tree-card:hover,
.tree-card:focus-visible{
  background:#eeecff;
  border-color:#c9c2ff;
  box-shadow:none;
}

.tree-card--hub{
  background:var(--deputy-support,#f7f9ff);
  border-color:var(--deputy-support-border,#a6bff9);
  color:var(--deputy-purple,#28256b);
  height:173px;
  padding:24px 28px;
}

.tree-card--hub strong{
  font-size:35px;
  font-weight:750;
  line-height:1.15;
}

.tree-card--hub:hover,
.tree-card--hub:focus-visible{
  background:#eeecff;
  border-color:#c9c2ff;
  color:var(--deputy-purple,#28256b);
}

.tree-card--sub-hub strong{
  font-size:25px;
  font-weight:600;
}

.tree-card--nested strong{
  font-size:19px;
  font-weight:500;
}

.tree-card--sub-hub{
  height:120px;
}

.tree-card--nested{
  height:90px;
}

.visual-tree-detail{
  border-radius:22px;
  font-size:30px;
  line-height:1.55;
  max-height:760px;
  padding:54px;
  width:840px;
}

.visual-tree-detail h2{
  font-size:44px;
  line-height:1.18;
  margin:0 72px 20px 0;
}

.visual-tree-detail h3{
  font-size:38px;
  margin-top:34px;
}

.visual-tree-detail-summary{
  font-size:30px;
}

.visual-tree-detail-link{
  align-items:center;
  background:var(--deputy-card-surface,#f9f9fc)!important;
  border:1px solid var(--deputy-border,#dfe0e6);
  border-radius:16px;
  box-sizing:border-box;
  color:var(--deputy-ink,#1e163c)!important;
  display:inline-flex;
  font-size:30px;
  font-weight:700;
  justify-content:center;
  margin-top:12px;
  min-height:82px;
  padding:22px 28px;
  text-align:center;
  transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}

.visual-tree-detail-link:hover,
.visual-tree-detail-link:focus-visible{
  background:var(--deputy-support,#f7f9ff)!important;
  border-color:var(--deputy-support-border,#a6bff9);
  box-shadow:0 10px 24px rgba(40,37,107,.12);
  color:var(--deputy-ink,#1e163c)!important;
  text-decoration:none;
  transform:translateY(-2px);
}

.visual-tree-child-list{
  font-size:28px;
}

.visual-tree-detail-close{
  align-items:center;
  background:transparent;
  border:0;
  color:var(--deputy-purple,#28256b);
  cursor:pointer;
  display:flex;
  font-size:44px;
  height:52px;
  justify-content:center;
  left:auto;
  line-height:1;
  padding:0;
  position:absolute;
  right:28px;
  top:54px;
  width:52px;
}

@media(max-width:900px){
  .visual-tree-map-toolbar{
    right:12px;
    top:12px;
  }

  .visual-tree-button{
    height:38px;
    width:38px;
  }
}
