/* Bio2Twin shared long-form Research Map v1 */
body.bt-doc-map-enabled{
  --bdm-rail-w:236px;
  --bdm-edge:max(22px,calc((100vw - 1360px)/2));
}

.bt-doc-map{
  position:fixed;
  top:94px;
  right:var(--bdm-edge);
  z-index:36;
  width:var(--bdm-rail-w);
  max-height:calc(100vh - 120px);
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-width:none;
}
.bt-doc-map::-webkit-scrollbar{display:none}

.bt-doc-map__inner{
  border-left:1px solid rgba(255,255,255,.075);
  padding:3px 0 3px 15px;
}
.bt-doc-map__kicker{
  margin:0 0 13px;
  color:rgba(158,230,206,.58);
  font-size:9px;
  font-weight:600;
  letter-spacing:.14em;
  line-height:1.4;
}
.bt-doc-map__list{
  display:flex;
  flex-direction:column;
  gap:1px;
}
.bt-doc-map__list a{
  position:relative;
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  gap:6px;
  align-items:start;
  padding:6px 8px 6px 0;
  border-radius:0 8px 8px 0;
  color:rgba(235,246,241,.48);
  text-decoration:none;
  font-size:11.5px;
  line-height:1.38;
  transition:color .16s ease,background .16s ease;
}
.bt-doc-map__list a::before{
  content:"";
  position:absolute;
  left:-16px;
  top:7px;
  bottom:7px;
  width:2px;
  border-radius:2px;
  background:transparent;
}
.bt-doc-map__list a span{
  color:rgba(158,230,206,.38);
  font-size:8.5px;
  letter-spacing:.06em;
  line-height:1.8;
}
.bt-doc-map__list a:hover{
  color:rgba(244,250,247,.82);
  background:rgba(255,255,255,.018);
}
.bt-doc-map__list a.is-active{
  color:#eefaf4;
  background:linear-gradient(90deg,rgba(114,230,207,.055),transparent 88%);
}
.bt-doc-map__list a.is-active::before{
  background:#72e6cf;
  box-shadow:0 0 9px rgba(114,230,207,.28);
}
.bt-doc-map__list a.is-active span{color:#72e6cf}

.bt-doc-map__meta{
  margin-top:15px;
  padding:14px 9px 3px 0;
  border-top:1px solid rgba(255,255,255,.065);
}
.bt-doc-map__meta>span{
  display:block;
  color:rgba(235,246,241,.36);
  font-size:8px;
  letter-spacing:.12em;
  line-height:1.5;
}
.bt-doc-map__meta strong{
  display:block;
  margin:6px 0 4px;
  color:#b9ffcb;
  font-size:20px;
  line-height:1.05;
  font-weight:520;
  letter-spacing:-.025em;
}
.bt-doc-map__meta small{
  display:block;
  color:rgba(235,246,241,.48);
  font-size:9.5px;
  line-height:1.55;
}
.bt-doc-map__live{
  display:flex!important;
  align-items:center;
  gap:6px;
  margin-top:9px;
  color:rgba(185,255,203,.60)!important;
}
.bt-doc-map__live::before{
  content:"";
  flex:0 0 auto;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#72e6cf;
  box-shadow:0 0 7px rgba(114,230,207,.4);
}

/* Desktop reading rail */
@media(min-width:1280px){
  body.bt-doc-map-enabled.technology-body .technology-page,
  body.bt-doc-map-enabled.technology-body .technology-footer{
    width:min(1040px,calc(100% - 320px));
    margin-left:var(--bdm-edge);
    margin-right:auto;
  }
  body.bt-doc-map-enabled .so-wrap{
    width:min(1040px,calc(100% - 320px));
    margin-left:var(--bdm-edge);
    margin-right:auto;
  }
  body.bt-doc-map-enabled.oi-genesis .og-container{
    width:min(1040px,calc(100% - 320px));
    margin-left:var(--bdm-edge);
    margin-right:auto;
  }
}

/* Technology: side map replaces the old 15-tile index */
body.bt-doc-map-enabled.technology-body .technology-index{display:none!important}
body.bt-doc-map-enabled.technology-body .technology-hero{padding-bottom:42px!important}
body.bt-doc-map-enabled.technology-body .technology-stack{margin-top:8px}

/* Desktop rail on slightly narrower screens */
@media(min-width:1280px) and (max-width:1360px){
  body.bt-doc-map-enabled{
    --bdm-rail-w:218px;
    --bdm-edge:20px;
  }
}

/* Tablet / mobile: sticky horizontal map */
@media(max-width:1279px){
  .bt-doc-map{
    position:sticky;
    top:0;
    right:auto;
    z-index:80;
    width:100%;
    max-height:none;
    overflow:visible;
    background:rgba(7,14,13,.92);
    border-top:1px solid rgba(255,255,255,.055);
    border-bottom:1px solid rgba(255,255,255,.075);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
  }
  .bt-doc-map__inner{
    width:min(1160px,calc(100% - 28px));
    margin-inline:auto;
    padding:9px 0;
    border-left:0;
  }
  .bt-doc-map__kicker,.bt-doc-map__meta{display:none}
  .bt-doc-map__list{
    flex-direction:row;
    gap:5px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    scroll-snap-type:x proximity;
  }
  .bt-doc-map__list::-webkit-scrollbar{display:none}
  .bt-doc-map__list a{
    flex:0 0 auto;
    display:flex;
    gap:6px;
    align-items:center;
    min-height:32px;
    padding:6px 9px;
    border:1px solid rgba(255,255,255,.065);
    border-radius:999px;
    background:rgba(255,255,255,.012);
    font-size:10.5px;
    white-space:nowrap;
    scroll-snap-align:start;
  }
  .bt-doc-map__list a::before{display:none}
  .bt-doc-map__list a span{font-size:8px;line-height:1}
  .bt-doc-map__list a.is-active{
    border-color:rgba(114,230,207,.28);
    background:rgba(114,230,207,.07);
  }
  body.bt-doc-map-enabled.technology-body .technology-page,
  body.bt-doc-map-enabled.technology-body .technology-footer,
  body.bt-doc-map-enabled .so-wrap,
  body.bt-doc-map-enabled.oi-genesis .og-container{
    margin-inline:auto;
  }
  body.bt-doc-map-enabled.technology-body .technology-hero{padding-bottom:28px!important}
}

@media(max-width:600px){
  .bt-doc-map__inner{width:calc(100% - 20px);padding:8px 0}
  .bt-doc-map__list a{min-height:30px;padding:6px 8px;font-size:10px}
}

@media(prefers-reduced-motion:reduce){
  .bt-doc-map__list a{transition:none}
}

/* Sticky/anchor correctness */
body.bt-doc-map-enabled .so-page{overflow:clip}
body.bt-doc-map-enabled main section[id],
body.bt-doc-map-enabled main article[id]{scroll-margin-top:92px}
@media(max-width:1279px){
  body.bt-doc-map-enabled main section[id],
  body.bt-doc-map-enabled main article[id]{scroll-margin-top:64px}
}
