/* Bio2Twin OI Research Horizon · right-side research map v1
   OpenAI-style reading navigation, translated into Bio2Twin system language. */

.og-page--research{
  --orm-rail-w:236px;
  --orm-edge:max(22px,calc((100vw - 1360px)/2));
  --orm-gap:34px;
}

@media(min-width:1161px){
  .og-page--research .og-container{
    width:min(1060px,calc(100% - 320px));
    margin-left:var(--orm-edge);
    margin-right:auto;
  }
}

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

.og-research-map__inner{
  border-left:1px solid rgba(255,255,255,.075);
  padding:3px 0 3px 15px;
}

.og-research-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;
}

.og-research-map__list{
  display:flex;
  flex-direction:column;
  gap:1px;
}

.og-research-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;
}

.og-research-map__list a::before{
  content:"";
  position:absolute;
  left:-16px;
  top:7px;
  bottom:7px;
  width:2px;
  border-radius:2px;
  background:transparent;
}

.og-research-map__list a span{
  color:rgba(158,230,206,.38);
  font-size:8.5px;
  letter-spacing:.06em;
  line-height:1.8;
}

.og-research-map__list a:hover{
  color:rgba(244,250,247,.82);
  background:rgba(255,255,255,.018);
}

.og-research-map__list a.is-active{
  color:#eefaf4;
  background:linear-gradient(90deg,rgba(114,230,207,.055),transparent 88%);
}

.og-research-map__list a.is-active::before{
  background:#72e6cf;
  box-shadow:0 0 9px rgba(114,230,207,.28);
}

.og-research-map__list a.is-active span{
  color:#72e6cf;
}

.og-research-map__meta{
  margin-top:15px;
  padding:14px 9px 3px 0;
  border-top:1px solid rgba(255,255,255,.065);
}

.og-research-map__meta > span{
  display:block;
  color:rgba(235,246,241,.36);
  font-size:8px;
  letter-spacing:.12em;
  line-height:1.5;
}

.og-research-map__meta strong{
  display:block;
  margin:6px 0 4px;
  color:#b9ffcb;
  font-size:20px;
  line-height:1.05;
  font-weight:520;
  letter-spacing:-.025em;
}

.og-research-map__meta small{
  display:block;
  color:rgba(235,246,241,.48);
  font-size:9.5px;
  line-height:1.55;
}

.og-research-map__live{
  display:flex!important;
  align-items:center;
  gap:6px;
  margin-top:9px;
  color:rgba(185,255,203,.60)!important;
}
.og-research-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);
}

/* Small desktop: retain reading rail but narrow it slightly */
@media(min-width:1161px) and (max-width:1320px){
  .og-page--research{
    --orm-rail-w:218px;
    --orm-edge:20px;
  }
  .og-page--research .og-container{
    width:calc(100% - 292px);
  }
}

/* Tablet/mobile: the same map becomes a compact horizontal sticky rail after hero */
@media(max-width:1160px){
  .og-research-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);
  }
  .og-research-map__inner{
    width:min(1160px,calc(100% - 28px));
    margin-inline:auto;
    padding:9px 0;
    border-left:0;
  }
  .og-research-map__kicker,
  .og-research-map__meta{
    display:none;
  }
  .og-research-map__list{
    display:flex;
    flex-direction:row;
    gap:5px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    scroll-snap-type:x proximity;
  }
  .og-research-map__list::-webkit-scrollbar{display:none}
  .og-research-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;
  }
  .og-research-map__list a::before{display:none}
  .og-research-map__list a span{
    font-size:8px;
    line-height:1;
  }
  .og-research-map__list a.is-active{
    border-color:rgba(114,230,207,.28);
    background:rgba(114,230,207,.07);
  }
}

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