.osintfd2-root{
  width:100%;
  min-height:420px;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 6px 20px rgba(0,0,0,.08);
  background:#0b1020;
}
.osintfd2-ui{
  position:relative;
  width:100%;
  height:100%;
}
.osintfd2-topbar{
  position:absolute;
  top:12px;
  left:12px;
  right:12px;
  display:flex;
  gap:10px;
  align-items:center;
  z-index: 1000;
}
.osintfd2-card{
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  padding: 10px 12px;
  color: #fff;
}
.osintfd2-topbar .osintfd2-card{
  display:flex;
  gap:10px;
  align-items:center;
}
.osintfd2-btn{
  cursor:pointer;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.18);
  color:#fff;
  padding: 7px 10px;
  border-radius: 12px;
  font-size: 13px;
}
.osintfd2-btn:hover{ background: rgba(255,255,255,.10); }
.osintfd2-input{
  border:1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.18);
  color:#fff;
  padding: 7px 10px;
  border-radius: 12px;
  font-size: 13px;
  width: 240px;
}
.osintfd2-canvas{
  width:100%;
  height:100%;
}
.osintfd2-legend{
  position:absolute;
  bottom:12px;
  left:12px;
  z-index:1000;
  max-width: 360px;
}
.osintfd2-legend ul{ margin:0; padding-left: 16px; }
.osintfd2-legend li{ margin: 4px 0; }
.osintfd2-pill{
  display:inline-flex;align-items:center;gap:6px;
  padding: 3px 8px;
  border-radius: 999px;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.18);
  font-size: 12px;
}


.osintfd2-card strong{font-weight:600}
@media (max-width: 900px){
  .osintfd2-topbar{flex-wrap:wrap}
  [data-bind="details"]{position:absolute !important; right:12px; left:12px; top:auto !important; bottom:120px; max-width:none !important; min-width:0 !important;}
}
